js日期时间格式验证,时间比较
js 中国标准时间格式

在JavaScript中,可以使用以下方式表示中国标准时间(UTC+8):
```javascript
var date = new Date();
date.setUTCHours(8);
```
这将创建一个新的日期对象,并将时间设置为中国标准时间。
需要注意的是,JavaScript的日期和时间是基于UTC的,因此需要使用`setUTCHours`方法来设置时区。
如果您想要将日期和时间以字符串形式表示为中国的标准时间格式,可以使用以下代码:
```javascript
var date = new Date();
date.setUTCHours(8);
var timeString = date.toLocaleString("zh-CN", { timeZone: "Asia/Shanghai" });
console.log(timeString);
```
这将输出类似于“2023年7月19日,上午8:00”的字符串,表示中国标准时间。
注意,需要使用`toLocaleString`方法,并指定`timeZone`参数为“Asia/Shanghai”,以便正确显示时区信息。
js标准时间格式

js标准时间格式
JavaScript中的标准时间格式是使用Date对象的方法和函数来处理和格式化日期和时间。
下面是一些常见的JavaScript标准时间格式:
1. 日期格式:YYYY-MM-DD
例如:2023-07-08
2. 日期时间格式:YYYY-MM-DDTHH:mm:ss
例如:2023-07-08T13:45:30
3. 简化的日期时间格式:YYYY-MM-DD HH:mm:ss
例如:2023-07-08 13:45:30
4. 24小时制时间格式:HH:mm:ss
例如:13:45:30
5. AM/PM制时间格式:hh:mm:ss AM/PM
例如:01:45:30 PM
请注意,JavaScript中的时间格式可以根据需求进行更多的自定义。
您可以使用Date对象的方法(如getFullYear、getMonth、getDate等)获取日期和时间的各个部分,并根据需要进行格式化和拼接。
此外,还有一些JavaScript库(如moment.js)可以帮助更方便地处理和格式化时间,提供更多的时间格式选项和功能。
您可以根据自己的项目需求选择适合的时间处理库。
js日期时间函数(经典+完善+实用)

js日期时间函数(经典+完善+实用)bicabojs日期时间函数(经典+完善+实用)来自/bbs/show.asp?id=42&bd=8&totable=1日期时间脚本库方法列表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 日期天数差1.//---------------------------------------------------2.// 判断闰年3.//---------------------------------------------------4.Date.prototype.isLeapYear = function()5.{6.return (0==this.getYear()%4&&((this.getYear()%100!=0)||( this.getYear()%400==0)));7.}8.9.//---------------------------------------------------10.// 日期格式化11.// 格式 YYYY/yyyy/YY/yy 表示年份12.// MM/M 月份13.// W/w 星期14.// dd/DD/d/D 日期15.// hh/HH/h/H 时间16.// mm/m 分钟17.// ss/SS/s/S 秒18.//---------------------------------------------------19.Date.prototype.Format = function(formatStr)20.{21.var str = formatStr;22.var Week = ['日','一','二','三','四','五','六'];23.24.str=str.replace(/yyyy|YYYY/,this.getFullYear());25.str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.g etYear() % 100).toString():'0' + (this.getYear() % 100));26.27.str=str.replace(/MM/,this.getMonth()>9?this.getMont h().toString():'0' + this.getMonth());28.str=str.replace(/M/g,this.getMonth());29.30.str=str.replace(/w|W/g,Week[this.getDay()]);31.32.str=str.replace(/dd|DD/,this.getDate()>9?this.getDate() .toString():'0' + this.getDate());33.str=str.replace(/d|D/g,this.getDate());34.35.str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0' + this.getHours());36.str=str.replace(/h|H/g,this.getHours());37.str=str.replace(/mm/,this.getMinutes()>9?this.getMinu tes().toString():'0' + this.getMinutes());38.str=str.replace(/m/g,this.getMinutes());39.40.str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSec onds().toString():'0' + this.getSeconds());41.str=str.replace(/s|S/g,this.getSeconds());42.43.return str;44.}45.46.//+---------------------------------------------------47.//| 求两个时间的天数差日期格式为 YYYY-MM-dd48.//+---------------------------------------------------49.function daysBetween(DateOne,DateTwo)50.{51.var OneMonth = DateOne.substring(5,stInd exOf ('-'));52.var OneDay = DateOne.substring(DateOne.length,Dat stIndexOf ('-')+1);53.var OneYear = DateOne.substring(0,DateOne.indexOf ( '-'));54.55.var TwoMonth = DateTwo.substring(5,stInd exOf ('-'));56.var TwoDay = DateTwo.substring(DateTwo.length,Date stIndexOf ('-')+1);57.var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));58.59.var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+On eYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/8640 0000);60.return Math.abs(cha);61.}62.63.64.//+---------------------------------------------------65.//| 日期计算66.//+---------------------------------------------------67.Date.prototype.DateAdd = function(strInterval, Numb er) {68.var dtTmp = this;69.switch (strInterval) {70.case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number));71.case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number));72.case 'h' :return new Date(Date.parse(dtTmp) + (36000 00 * Number));73.case 'd' :return new Date(Date.parse(dtTmp) + (86400 000 * Number));74.case 'w' :return new Date(Date.parse(dtTmp) + ((86400 000 * 7) * Number));75.case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp. getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), d tTmp.getMinutes(), dtTmp.getSeconds());76.case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtT mp.getMinutes(), dtTmp.getSeconds());77.case 'y' :return new Date((dtTmp.getFullYear() + Numb er), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtT mp.getMinutes(), dtTmp.getSeconds());78.}79.}80.81.//+---------------------------------------------------82.//| 比较日期差 dtEnd 格式为日期型或者有效日期格式字符串83.//+---------------------------------------------------84.Date.prototype.DateDiff = function(strInterval, dtEnd) {85.var dtStart = this;86.if (typeof dtEnd == 'string' )//如果是字符串转换为日期型87.{88.dtEnd = StringToDate(dtEnd);89.}90.switch (strInterval) {91.case 's' :return parseInt((dtEnd - dtStart) / 1000);92.case 'n' :return parseInt((dtEnd - dtStart) / 60000);93.case 'h' :return parseInt((dtEnd - dtStart) / 3600000);94.case 'd' :return parseInt((dtEnd - dtStart) / 86400000);95.case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7));96.case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFull Year()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);97.case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear ();98.}99.}100.101.//+---------------------------------------------------102.//| 日期输出字符串,重载了系统的toString方法103.//+---------------------------------------------------104.Date.prototype.toString = function(showWeek)105.{106.var myDate= this;107.var str = myDate.toLocaleDateString();108.if (showWeek)109.{110.var Week = ['日','一','二','三','四','五','六'];111.str += ' 星期' + Week[myDate.getDay()];112.}113.return str;114.}115.116.//+---------------------------------------------------117.//| 日期合法性验证118.//| 格式为:YYYY-MM-DD或YYYY/MM/DD119.//+---------------------------------------------------120.function IsValidDate(DateStr)121.{122.var sDate=DateStr.replace(/(^\s+|\s+$)/g,''); //去两边空格;123.if(sDate=='') return true;124.//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''125.//数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式126.var s = sDate.replace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,'');127.if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD 或YYYY-M-D或YYYY-MM-D128.{129.var t=new Date(sDate.replace(/\-/g,'/'));130.var ar = sDate.split(/[-/:]/);131.if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] ! = t.getDate())132.{133.//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。
js简单时间比较的方法

js简单时间⽐较的⽅法本⽂实例讲述了js简单时间⽐较的⽅法。分享给⼤家供⼤家参考,具体如下://时间⽐较(yyyy-MM-dd)function compareDate(startDate, endDate) { var arrStart = startDate.split("-"); var startTime = new Date(arrStart[0], arrStart[1], arrStart[2]); var startTimes = startTime.getTime(); var arrEnd = endDate.split("-"); var endTime = new Date(arrEnd[0], arrEnd[1], arrEnd[2]); var endTimes = endTime.getTime(); if (endTimes alert("结束时间不能⼩于开始时间"); return false; } return true;}//时间⽐较(yyyy-MM-dd HH:mm:ss)function compareTime(startTime,endTime) { var startTimes = startTime.substring(0, 10).split('-'); var endTimes = endTime.substring(0, 10).split('-'); startTime = startTimes[1] + '-' + startTimes[2] + '-' + startTimes[0] + ' ' + startTime.substring(10, 19); endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19); var thisResult = (Date.parse(endTime) - Date.parse(startTime)) / 3600 / 1000; if (thisResult < 0) { alert("endTime⼩于tartTime!"); } else if (thisResult > 0) { alert("endTime⼤于tartTime!"); } else if (thisResult == 0) { alert("endTime等于tartTime!"); } else { return '异常'; }}
详解js正则表达式验证时间格式xxxx-xx-xx形式

详解js正则表达式验证时间格式xxxx-xx-xx形式在项⽬中,我们经常会遇到时间问题,有时候是使⽤时间插件,让⽤户选择,但有时应客户要求,能够⾃⾏输⼊时间,那么,我们如何来确定⽤户输⼊的时间格式是否正确,输⼊的时间是否合法呢?这个时候需要⽤到正则表达式,接下来,简单讲解我的验证实例,以验证时间格式2017-01-01格式为例:1.⾸先,我们需要获得⽤户输⼊的内容;2.其次,我们需要验证⽤户输⼊的内容是否为2017-01-01格式;3.然后,验证格式正确后,需要验证输⼊的时间是否合法;4.如果⽤户输⼊的是正确的,合法的时间格式,那么返回输⼊框中的内容,否则提⽰⽤户重新输⼊。
以下给出具体验证过程,可供参考:1.获取⽤户输⼊的时间:var bagin = $('.input_one').val();2.验证时间格式是否正确:(验证通过返回时间戳格式,例如:(2017-01-01,2017,-,01,-,01),否则返回null)var bagin_r = bagin.match(/^(\d{4})(-)(\d{2})(-)(\d{2})$/);if(bagin_r==null){alert("请输⼊正确的开始时间格式,如:2017-01-01");return false;}3.验证时间是否合法:(注意:此段必须放置在验证时间格式完成之后)var b_d=new Date(bagin_r[1],bagin_r[3]-1,bagin_r[5]);var b_num = (b_d.getFullYear()==bagin_r[1]&&(b_d.getMonth()+1)==bagin_r[3]&&b_d.getDate()==bagin_r[5]);if(b_num==0){alert("开始时间不合法,请输⼊正确的开始时间");return false;}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
#JS#如何判断一个字符串是否为日期格式

#JS#如何判断⼀个字符串是否为⽇期格式
var data = “2018-12-09”;
//返回为false则是⽇期格式;isNaN(data)排除data为纯数字的情况(此处不考虑只有年份的⽇期,如‘2018’)
if(isNaN(data)&&!isNaN(Date.parse(data))){
console.log("data是⽇期格式!")
}
如果是20200112呢?可以先判断该字符串是否是8位数字,如果是8位数字,再是分割该数字,使⽤Date.parse()进⾏判断是否是⼀个⽇期。
使⽤正则判断⼀个字符串是否是数字
var pattern = new RegExp("[\u4E00-\u9FA5]+");
var str = "中⽂字符"
if(pattern.test(str)){
alert('该字符串是中⽂');
}
//验证是否是英⽂
var pattern2 = new RegExp("[A-Za-z]+");
var str2 = "abcdefsgaaweg"
if(pattern2.test(str2)){
alert('该字符串是英⽂');
}
//验证是否是数字
var pattern3 = new RegExp("[0-9]+");
var str3 = "234234"
if(pattern3.test(str3)){
alert('该字符串是数字');
}。
JS中常用的几种时间格式处理-【笔记整理】

JS中常⽤的⼏种时间格式处理-【笔记整理】//此处整理点平时常⽤到的时间格式处理⽅法-------------------------------------------1//时间格式化函数2 Date.prototype.format = function (format) {3var o = {4 "M+": this.getMonth() + 1, //month5 "d+": this.getDate(), //day6 "h+": this.getHours(), //hour7 "m+": this.getMinutes(), //minute8 "s+": this.getSeconds(), //second9 "q+": Math.floor((this.getMonth() + 3) / 3), //quarter10 "S": this.getMilliseconds() //millisecond11 }12if (/(y+)/.test(format)) {13 format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));14 }15for (var k in o) {16if (new RegExp("(" + k + ")").test(format)) {17 format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));18 }19 }20return format;21 }1//可将 var time = new date();转换成 2016-08-03 18:30:00 格式//消除浏览器之间差异2function DateHandle(objDate) {3 objDate = new Date(); //创建⼀个⽇期对象表⽰当前时间4var year = objDate.getFullYear(); //四位数字年5var month = objDate.getMonth() + 1; //getMonth()返回的⽉份是从0开始的,还要加16var date = objDate.getDate();7var hours = objDate.getHours();8var minutes = objDate.getMinutes();9var seconds = objDate.getSeconds();10var date = year + "-" + month + "-" + date + " " + hours + ":" + minutes + ":" + seconds;11return date;12 }1//+---------------------------------------------------2//| 字符串转成⽇期类型3//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd4//+---------------------------------------------------5function StringToDate(DateStr) {67var converted = Date.parse(DateStr);8var myDate = new Date(converted);9if (isNaN(myDate)) {10var arys = DateStr.split('-');11 myDate = new Date(arys[0], --arys[1], arys[2]);12 }13return myDate;14 }1//+---------------------------------------------------2//| ⽐较⽇期差 dtEnd 格式为⽇期型或者有效⽇期格式字符串3//+---------------------------------------------------4 Date.prototype.DateDiff = function (strInterval, dtEnd) {5var dtStart = this;6if (typeof dtEnd == 'string')//如果是字符串转换为⽇期型7 {8 dtEnd = StringToDate(dtEnd);9 }10switch (strInterval) {11case 's': return parseInt((dtEnd - dtStart) / 1000);12case 'n': return parseInt((dtEnd - dtStart) / 60000);13case 'h': return parseInt((dtEnd - dtStart) / 3600000);14case 'd': return parseInt((dtEnd - dtStart) / 86400000);15case 'w': return parseInt((dtEnd - dtStart) / (86400000 * 7));16case 'm': return (dtEnd.getMonth() + 1) + ((dtEnd.getFullYear() - dtStart.getFullYear()) * 12) - (dtStart.getMonth() + 1);17case 'y': return dtEnd.getFullYear() - dtStart.getFullYear();18 }19 }1//时间转换//加数字颜⾊/样式 //time 单位秒2function secondToDateAndStyle(time) {3 time = parseInt(time);4if (null != time && "" != time) {5if (time > 60 && time < 60 * 60) {6 time = "<span style=\"color:#FF6600;\">" + parseInt(time / 60.0) + "</span>" + "分" + "<span style=\"color:#FF6600;\">" + parseInt((parseFloat(time / 60.0) - parseInt(time / 60.0)) * 60) + "</span>" + "秒";7 } else if (time >= 60 * 60 && time < 60 * 60 * 24) {8 time = "<span style=\"color:#FF6600;\">" + parseInt(time / 3600.0) + "</span>" + "时" + "<span style=\"color:#FF6600;\">" + parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) + "</span>" + "分" + "<span style=\"colo9 } else {10 time = "<span style=\"color:#FF6600;\">" + parseInt(time) + "</span>" + "秒";11 }12 } else {13 time = "<span style=\"color:#FF6600;\">0</span>秒";14 }15return time;16 }1//时间⽐较函数2function CompareTime(Time1, Time2) {3var start = new Date(Time1.replace("-", "/").replace("-", "/"));4var end = new Date(Time2.replace("-", "/").replace("-", "/"));5if (end <= start) {6//后者⼩于前者返回false7return false;8 }9return true;//后者⼤于前者返回true10 }持续整理添加中待续...。
js日期时间

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 日期天数差js代码//---------------------------------------------------// 判断闰年//---------------------------------------------------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){varstr = 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-ddfunction daysBetween(DateOne,DateTwo){varneMonth = DateOne.substring(5,stIndexOf ('-'));varneDay = DateOne.substring(DateOne.length,stIndexOf ('-')+1);varneYear = DateOne.substring(0,DateOne.indexOf ('-'));varTwoMonth = DateTwo.substring(5,stIndexOf ('-'));varTwoDay = DateTwo.substring(DateTwo.length,stIndexOf ('-')+1);varTwoYear = 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) {vardtTmp = 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) {vardtStart = this;if (typeofdtEnd == '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){varmyDate= this;varstr = myDate.toLocaleDateString();if (showWeek){var Week = ['日','一','二','三','四','五','六'];str += ' 星期' + Week[myDate.getDay()];return str;}//+---------------------------------------------------//| 日期合法性验证//| 格式为:YYYY-MM-DD或YYYY/MM/DD//+---------------------------------------------------function IsValidDate(DateStr){varsDate=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,'/'));varar = sDate.split(/[-/:]/);if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate()){//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
日期时间脚本库方法列表 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 日期天数差
js 代码
//--------------------------------------------------- // 判断闰年 //--------------------------------------------------- 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 neMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); var neDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); var neYear = 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();