js日期时间函数
日期时间脚本库方法列表
Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差
nextdate(); // 输入一个日期输出后一天的日期 日期格式为 YYYY-MM-dd
function month(Y,M);// 输入一个年份,月份(2016,1) 输出该月份日历数组
- //---------------------------------------------------
 - // 判断闰年
 - //---------------------------------------------------
 - Date.prototype.isLeapYear = function()
 - {
 - return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));
 - }
 - //---------------------------------------------------
 - // 日期格式化
 - // 格式 YYYY/yyyy/YY/yy 表示年份
 - // MM/M 月份
 - // W/w 星期
 - // dd/DD/d/D 日期
 - // hh/HH/h/H 时间
 - // mm/m 分钟
 - // ss/SS/s/S 秒
 - //---------------------------------------------------
 - Date.prototype.Format = function(formatStr)
 - {
 - var str = formatStr;
 - var Week = ['日','一','二','三','四','五','六'];
 - str=str.replace(/yyyy|YYYY/,this.getFullYear());
 - str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():'0' + (this.getYear() % 100));
 - str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0' + this.getMonth());
 - str=str.replace(/M/g,this.getMonth());
 - str=str.replace(/w|W/g,Week[this.getDay()]);
 - str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0' + this.getDate());
 - str=str.replace(/d|D/g,this.getDate());
 - str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0' + this.getHours());
 - str=str.replace(/h|H/g,this.getHours());
 - str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0' + this.getMinutes());
 - str=str.replace(/m/g,this.getMinutes());
 - str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0' + this.getSeconds());
 - str=str.replace(/s|S/g,this.getSeconds());
 - return str;
 - }
 - //+---------------------------------------------------
 - //| 求两个时间的天数差 日期格式为 YYYY-MM-dd
 - //+---------------------------------------------------
 - function daysBetween(DateOne,DateTwo)
 - {
 - var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));
 - var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);
 - var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));
 - var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));
 - var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);
 - var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));
 - var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);
 - return Math.abs(cha);
 - }
 - //+---------------------------------------------------
 - //| 日期计算
 - //+---------------------------------------------------
 - Date.prototype.DateAdd = function(strInterval, Number) {
 - var dtTmp = this;
 - switch (strInterval) {
 - case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number));
 - case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number));
 - case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number));
 - case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number));
 - case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
 - case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
 - case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
 - case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
 - }
 - }
 - //+---------------------------------------------------
 - //| 比较日期差 dtEnd 格式为日期型或者 有效日期格式字符串
 - //+---------------------------------------------------
 - Date.prototype.DateDiff = function(strInterval, dtEnd) {
 - var dtStart = this;
 - if (typeof dtEnd == 'string' )//如果是字符串转换为日期型
 - {
 - dtEnd = StringToDate(dtEnd);
 - }
 - switch (strInterval) {
 - case 's' :return parseInt((dtEnd - dtStart) / 1000);
 - case 'n' :return parseInt((dtEnd - dtStart) / 60000);
 - case 'h' :return parseInt((dtEnd - dtStart) / 3600000);
 - case 'd' :return parseInt((dtEnd - dtStart) / 86400000);
 - case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7));
 - case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
 - case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear();
 - }
 - }
 - //+---------------------------------------------------
 - //| 日期输出字符串,重载了系统的toString方法
 - //+---------------------------------------------------
 - Date.prototype.toString = function(showWeek)
 - {
 - var myDate= this;
 - var str = myDate.toLocaleDateString();
 - if (showWeek)
 - {
 - var Week = ['日','一','二','三','四','五','六'];
 - str += ' 星期' + Week[myDate.getDay()];
 - }
 - return str;
 - }
 - //+---------------------------------------------------
 - //| 日期合法性验证
 - //| 格式为:YYYY-MM-DD或YYYY/MM/DD
 - //+---------------------------------------------------
 - function IsValidDate(DateStr)
 - {
 - var sDate=DateStr.replace(/(^\s+|\s+$)/g,''); //去两边空格;
 - if(sDate=='') return true;
 - //如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''
 - //数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式
 - var s = sDate.replace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,'');
 - if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
 - {
 - var t=new Date(sDate.replace(/\-/g,'/'));
 - var ar = sDate.split(/[-/:]/);
 - if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
 - {
 - //alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
 - return false;
 - }
 - }
 - else
 - {
 - //alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
 - return false;
 - }
 - return true;
 - }
 - //+---------------------------------------------------
 - //| 日期时间检查
 - //| 格式为:YYYY-MM-DD HH:MM:SS
 - //+---------------------------------------------------
 - function CheckDateTime(str)
 - {
 - var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;
 - var r = str.match(reg);
 - if(r==null)return false;
 - r[2]=r[2]-1;
 - var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);
 - if(d.getFullYear()!=r[1])return false;
 - if(d.getMonth()!=r[2])return false;
 - if(d.getDate()!=r[3])return false;
 - if(d.getHours()!=r[4])return false;
 - if(d.getMinutes()!=r[5])return false;
 - if(d.getSeconds()!=r[6])return false;
 - return true;
 - }
 - //+---------------------------------------------------
 - //| 把日期分割成数组
 - //+---------------------------------------------------
 - Date.prototype.toArray = function()
 - {
 - var myDate = this;
 - var myArray = Array();
 - myArray[0] = myDate.getFullYear();
 - myArray[1] = myDate.getMonth();
 - myArray[2] = myDate.getDate();
 - myArray[3] = myDate.getHours();
 - myArray[4] = myDate.getMinutes();
 - myArray[5] = myDate.getSeconds();
 - return myArray;
 - }
 - //+---------------------------------------------------
 - //| 取得日期数据信息
 - //| 参数 interval 表示数据类型
 - //| y 年 m月 d日 w星期 ww周 h时 n分 s秒
 - //+---------------------------------------------------
 - Date.prototype.DatePart = function(interval)
 - {
 - var myDate = this;
 - var partStr='';
 - var Week = ['日','一','二','三','四','五','六'];
 - switch (interval)
 - {
 - case 'y' :partStr = myDate.getFullYear();break;
 - case 'm' :partStr = myDate.getMonth()+1;break;
 - case 'd' :partStr = myDate.getDate();break;
 - case 'w' :partStr = Week[myDate.getDay()];break;
 - case 'ww' :partStr = myDate.WeekNumOfYear();break;
 - case 'h' :partStr = myDate.getHours();break;
 - case 'n' :partStr = myDate.getMinutes();break;
 - case 's' :partStr = myDate.getSeconds();break;
 - }
 - return partStr;
 - }
 - //+---------------------------------------------------
 - //| 取得当前日期所在月的最大天数
 - //+---------------------------------------------------
 - Date.prototype.MaxDayOfDate = function()
 - {
 - var myDate = this;
 - var ary = myDate.toArray();
 - var date1 = (new Date(ary[0],ary[1]+1,1));
 - var date2 = date1.dateAdd(1,'m',1);
 - var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));
 - return result;
 - }
 - //+---------------------------------------------------
 - //| 取得当前日期所在周是一年中的第几周
 - //+---------------------------------------------------
 - Date.prototype.WeekNumOfYear = function()
 - {
 - var myDate = this;
 - var ary = myDate.toArray();
 - var year = ary[0];
 - var month = ary[1]+1;
 - var day = ary[2];
 - document.write('< script language=VBScript\> \n');
 - document.write('myDate = DateValue(''+month+'-'+day+'-'+year+'') \n');
 - document.write('result = DatePart('ww', myDate) \n');
 - document.write(' \n');
 - return result;
 - }
 - //+---------------------------------------------------
 - //| 字符串转成日期类型
 - //| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd
 - //+---------------------------------------------------
 - function StringToDate(DateStr)
 - {
 - var converted = Date.parse(DateStr);
 - var myDate = new Date(converted);
 - if (isNaN(myDate))
 - {
 - //var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';
 - var arys= DateStr.split('-');
 - myDate = new Date(arys[0],--arys[1],arys[2]);
 - }
 - return myDate;
 - }
 // 输入一个日期输出后一天的日期 日期格式为 YYYY-MM-dd
function nextdate(date)
{ var date = new Date(date); //传入一个时间格式,如果不传入就是获取现在的时间了
var time = date.getTime();//毫秒数的时间戳
var next_time=time+(3600*24*1000);//时间戳为毫秒数,要*1000
var date = new Date(next_time);//Tue Sep 01 2015 08:01:26 GMT+0800 (中国标准时间)
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = (date.getDate()< 10 ? '0'+date.getDate() : date.getDate());
return (Y+M+D);}
// 输入一个日期输出前一天的日期 日期格式为 YYYY-MM-dd
function predate(date)
{ var date = new Date(date); //传入一个时间格式,如果不传入就是获取现在的时间了
var time = date.getTime();//毫秒数的时间戳
var next_time=time+(3600*24*1000);//时间戳为毫秒数,要*1000
var date = new Date(next_time);//Tue Sep 01 2015 08:01:26 GMT+0800 (中国标准时间)
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = (date.getDate()< 10 ? '0'+date.getDate() : date.getDate());
return (Y+M+D);}
// 输入一个年份,月份(2016,1) 输出该月份日历数组
function month(Y,M)
{   
	  var day = new Date(Y,M,0); //构造一个日期对象:
	  var daycount = day.getDate();//获取月份天数:
	  var M = (M < 10 ? '0'+M : M);
  var arrayObj = new Array(); //创建一个数组
	  for(var i=1;i<= daycount; i++){ 
		    var D = (i < 10 ? '0'+i : i);
		    var Obj = new Array(i,(Y+'-'+M+'-'+D)); //创建一个数组(1,2105-09-01)
		    arrayObj. push(Obj);
	  }
  var first_day_str=new Date(Y+'-'+M+'-'+1);
	  var first_day_week=first_day_str.getDay();//月份第一天星期几
  for(var i=0;i< first_day_week; i++){ 
		    Obj = new Array('',''); //在数组头部填充数组
		    arrayObj. unshift(Obj);
	  }
  var last_day_str=new Date(Y+'-'+M+'-'+daycount);
	  var last_day_week=last_day_str.getDay();//月份最后一天星期几
  for(var i=0;i< 6-last_day_week; i++){ 
		    Obj = new Array('',''); //在数组尾部填充数组
		    arrayObj. push(Obj);
	  }
  return arrayObj
}
js日期时间函数的更多相关文章
- mysql与oracle的日期/时间函数小结
		
前言 本文的日期/时间全部格式化为”2016-01-01 01:01:01“形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时间转字符串函数:to ...
 - 移动端lCalendar纯原生js日期时间选择器
		
网上找过很多的移动端基于zepto或jquery的日期选择器,在实际产品中也用过一两种,觉得都不太尽如人意,后来果断选择了H5自己的日期input表单,觉得还可以,至少不用引用第三方插件了,性能也不错 ...
 - Oracle日期时间函数大全
		
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits ...
 - ORACLE 常用函数 日期/时间函数
		
---------------------------------------------日期/时间函数----------------------------------------------- ...
 - MySQL日期时间函数大全(转)
		
MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1 ...
 - Mysql学习笔记(五)数学与日期时间函数
		
学习内容: 1.数学函数 2.日期时间函数 这些函数都是很常用的函数...在这里进行简单的介绍... 数学函数: mysql); //取绝对值函数 这个函数可安全地使用于 BIGINT 值. mysq ...
 - MySQL数据库学习笔记(五)----MySQL字符串函数、日期时间函数
		
一.常见字符串函数: 1.CHAR_LENGTH 获取长度(字符为单位) 2.FORMAT 格式化 3.INSERT 替换的方式插入 4.INSTR 获取位置 5.LEFT/RIGHT 取左 ...
 - PHP函数之日期时间函数date()使用详解
		
date()函数是我们在php开发中常碰到并且会使用到的一个日期函数,下面我来给大家介绍date()函数的一些基本扮靓和方法,有需要了解的朋友可进入参考 日期时间函数是PHP 的核心组成部分.无需 ...
 - SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学、字符串、日期时间)函数[转]
		
SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学.字符串.日期时间)函数 --创建表格 create table aa ( UserName varchar(50 ...
 
随机推荐
- SpringMVC基础——一个简单的例子
			
一.导入 jar 包 二.配置 web.xml 文件 <servlet> <servlet-name>dispatcherServlet</servlet-name> ...
 - android:inputType参数类型说明
			
android:inputType参数类型说明 android:inputType="none"--输入普通字符 android:inputType="text" ...
 - KMP算法 - 求最小覆盖子串
			
KMP与最小覆盖子串 最小覆盖子串:对于某个字符串s,它的最小覆盖子串指的是长度最小的子串p,p满足通过自身的多次连接得到q,最后能够使s成为q的子串. 比如: 对于s="abcab&quo ...
 - JS Date.Format
			
// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...
 - Flask and uWSGI - unable to load app 0 (mountpoint='') (callable not found or import error)
			
Here is my directory structure: -/path/to/folder/run.py -|app -|__init__.py -|views.py -|templates - ...
 - hadoop pipes wordcount compile
			
http://devel.cs.stolaf.edu/projects/bw/wiki.real/index.php/Hadoop_Reference,_January_2011 http://guo ...
 - 从Android系统出发,分析Android控件构架
			
从Android系统出发,分析Android控件构架 Android中所有的控件追溯到根源,就是View 和ViewGroup,相信这个大家都知道,但是大家也许会不太清楚它们之间的具体关系是什么,在A ...
 - [Xamarin.Android] 发布NuGet套件
			
[Xamarin.Android] 发布NuGet套件 前言 在Xamarin中,可以将自己开发的项目包装成为NuGet套件发布至NuGet Server,来提供其他开发人员使用.本篇介绍如何封装并发 ...
 - 来自亚马逊CEO Jeff Bezos的20句经验之谈
			
英文原文:The 20 Smartest Things Jeff Bezos Has Ever Said 当外界对一个公司的热情有些偏离常态时, 就会出现武断的言论,亚马逊对此就深有感受.2000 年 ...
 - asp.net mvc   Html.BeginForm()方法
			
Html.BeginForm()方法将会输出<form>标签,而且必须以using包起来,如此便可在using程序代码最后退出时,让asp.net mvc帮你补上<form>标 ...