js日期时间格式验证,时间比较_第1页
js日期时间格式验证,时间比较_第2页
js日期时间格式验证,时间比较_第3页
js日期时间格式验证,时间比较_第4页
js日期时间格式验证,时间比较_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、日期时间脚本库方法列表Dtotype.isLeapYear 判断闰年Dtotype.Format 日期格式化Dtotype.DateAdd 日期计算Dtotype.DateDiff 比较日期差Dtotype.toString 日期转字符串Dtotype.toArray 日期分割为数组Dtotype.DatePart 取日期的部分信息Dtotype.MaxDayOfDate 取日期所在月的最大天数Dtotype.WeekNumOfYear 判断日期所在年的第几周Strin

2、gToDate 字符串转日期型IsValidDate 验证日期有效性CheckDateTime 完整日期时间检查daysBetween 日期天数差js 代码 /- / 判断闰年 /- Dtotype.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 时间

3、 / mm/m 分钟 / ss/SS/s/S 秒 /- Dtotype.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.getYea

4、r() % 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,Weekthis.getDay(); str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().t

5、oString():'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():'

6、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,Da

7、teTwo) 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 Two

8、Day = 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(c

9、ha); /+- /| 日期计算 /+- Dtotype.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.par

10、se(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.getHo

11、urs(), 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.getDat

12、e(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds(); /+- /| 比较日期差 dtEnd 格式为日期型或者 有效日期格式字符串 /+- Dtotype.DateDiff = function(strInterval, dtEnd) var dtStart = this; if (typeof dtEnd = 'string' )/如果是字符串转换为日期型 dtEnd = StringToDate(dtEnd); switch (strInterval) case 's' :r

13、eturn 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); ca

14、se 'm' :return (dtEnd.getMonth()+1)+(dtEnd.getFullYear()-dtStart.getFullYear()*12) - (dtStart.getMonth()+1); case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear(); /+- /| 日期输出字符串,重载了系统的toString方法 /+- Dtotype.toString = function(showWeek) var myDate= this; var str = myDa

15、te.toLocaleDateString(); if (showWeek) var Week = '日','一','二','三','四','五','六' str += ' 星期' + WeekmyDate.getDay(); return str; /+- /| 日期合法性验证 /| 格式为:YYYY-MM-DD或YYYY/MM/DD /+- function IsValidDate(DateStr) var sDate=DateStr.replace(/(s+|s

16、+$)/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

17、-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D var t=new Date(sDate.replace(/-/g,'/'); var ar = sDate.split(/-/:/); if(ar0 != t.getYear() | ar1 != t.getMonth()+1 | ar2 != t.getDate() /alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。'); return false; else /alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM

18、/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; r2=r2-1; var d= new Date(r1,r2,r3,r4,r5,r6); if(d.getFullYear()!=r1)ret

19、urn false; if(d.getMonth()!=r2)return false; if(d.getDate()!=r3)return false; if(d.getHours()!=r4)return false; if(d.getMinutes()!=r5)return false; if(d.getSeconds()!=r6)return false; return true; /+- /| 把日期分割成数组 /+- Dtotype.toArray = function() var myDate = this; var myArray = Array(); myArr

20、ay0 = myDate.getFullYear(); myArray1 = myDate.getMonth(); myArray2 = myDate.getDate(); myArray3 = myDate.getHours(); myArray4 = myDate.getMinutes(); myArray5 = myDate.getSeconds(); return myArray; /+- /| 取得日期数据信息 /| 参数 interval 表示数据类型 /| y 年 m月 d日 w星期 ww周 h时 n分 s秒 /+- Dtotype.DatePart = funct

21、ion(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' :pa

22、rtStr = myDate.getDate();break; case 'w' :partStr = WeekmyDate.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(

23、);break; return partStr; /+- /| 取得当前日期所在月的最大天数 /+- Dtotype.MaxDayOfDate = function() var myDate = this; var ary = myDate.toArray(); var date1 = (new Date(ary0,ary1+1,1); var date2 = date1.dateAdd(1,'m',1); var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'); return result; /+- /| 取得当前日期所在周是一年中的第几周 /+- Dtotype

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论