`

js 获取当前日期

阅读更多

Js 获取当前日期

文章分类:Web前端

var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
日期时间脚本库方法列表
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代码 复制代码
  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. //格式YYYY/yyyy/YY/yy表示年份
  11. //MM/M月份
  12. //W/w星期
  13. //dd/DD/d/D日期
  14. //hh/HH/h/H时间
  15. //mm/m分钟
  16. //ss/SS/s/S秒
  17. //---------------------------------------------------
  18. Date.prototype.Format=function(formatStr)
  19. {
  20. varstr=formatStr;
  21. varWeek=['日','一','二','三','四','五','六'];
  22. str=str.replace(/yyyy|YYYY/,this.getFullYear());
  23. str=str.replace(/yy|YY/,(this.getYear()%100)>9?(this.getYear()%100).toString():'0'+(this.getYear()%100));
  24. str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0'+this.getMonth());
  25. str=str.replace(/M/g,this.getMonth());
  26. str=str.replace(/w|W/g,Week[this.getDay()]);
  27. str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0'+this.getDate());
  28. str=str.replace(/d|D/g,this.getDate());
  29. str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0'+this.getHours());
  30. str=str.replace(/h|H/g,this.getHours());
  31. str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0'+this.getMinutes());
  32. str=str.replace(/m/g,this.getMinutes());
  33. str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0'+this.getSeconds());
  34. str=str.replace(/s|S/g,this.getSeconds());
  35. returnstr;
  36. }
  37. //+---------------------------------------------------
  38. //|求两个时间的天数差日期格式为YYYY-MM-dd
  39. //+---------------------------------------------------
  40. functiondaysBetween(DateOne,DateTwo)
  41. {
  42. varOneMonth=DateOne.substring(5,DateOne.lastIndexOf('-'));
  43. varOneDay=DateOne.substring(DateOne.length,DateOne.lastIndexOf('-')+1);
  44. varOneYear=DateOne.substring(0,DateOne.indexOf('-'));
  45. varTwoMonth=DateTwo.substring(5,DateTwo.lastIndexOf('-'));
  46. varTwoDay=DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf('-')+1);
  47. varTwoYear=DateTwo.substring(0,DateTwo.indexOf('-'));
  48. varcha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)-Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);
  49. returnMath.abs(cha);
  50. }
  51. //+---------------------------------------------------
  52. //|日期计算
  53. //+---------------------------------------------------
  54. Date.prototype.DateAdd=function(strInterval,Number){
  55. vardtTmp=this;
  56. switch(strInterval){
  57. case's':returnnewDate(Date.parse(dtTmp)+(1000*Number));
  58. case'n':returnnewDate(Date.parse(dtTmp)+(60000*Number));
  59. case'h':returnnewDate(Date.parse(dtTmp)+(3600000*Number));
  60. case'd':returnnewDate(Date.parse(dtTmp)+(86400000*Number));
  61. case'w':returnnewDate(Date.parse(dtTmp)+((86400000*7)*Number));
  62. case'q':returnnewDate(dtTmp.getFullYear(),(dtTmp.getMonth())+Number*3,dtTmp.getDate(),dtTmp.getHours(),dtTmp.getMinutes(),dtTmp.getSeconds());
  63. case'm':returnnewDate(dtTmp.getFullYear(),(dtTmp.getMonth())+Number,dtTmp.getDate(),dtTmp.getHours(),dtTmp.getMinutes(),dtTmp.getSeconds());
  64. case'y':returnnewDate((dtTmp.getFullYear()+Number),dtTmp.getMonth(),dtTmp.getDate(),dtTmp.getHours(),dtTmp.getMinutes(),dtTmp.getSeconds());
  65. }
  66. }
  67. //+---------------------------------------------------
  68. //|比较日期差dtEnd格式为日期型或者有效日期格式字符串
  69. //+---------------------------------------------------
  70. Date.prototype.DateDiff=function(strInterval,dtEnd){
  71. vardtStart=this;
  72. if(typeofdtEnd=='string')//如果是字符串转换为日期型
  73. {
  74. dtEnd=StringToDate(dtEnd);
  75. }
  76. switch(strInterval){
  77. case's':returnparseInt((dtEnd-dtStart)/1000);
  78. case'n':returnparseInt((dtEnd-dtStart)/60000);
  79. case'h':returnparseInt((dtEnd-dtStart)/3600000);
  80. case'd':returnparseInt((dtEnd-dtStart)/86400000);
  81. case'w':returnparseInt((dtEnd-dtStart)/(86400000*7));
  82. case'm':return(dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12)-(dtStart.getMonth()+1);
  83. case'y':returndtEnd.getFullYear()-dtStart.getFullYear();
  84. }
  85. }
  86. //+---------------------------------------------------
  87. //|日期输出字符串,重载了系统的toString方法
  88. //+---------------------------------------------------
  89. Date.prototype.toString=function(showWeek)
  90. {
  91. varmyDate=this;
  92. varstr=myDate.toLocaleDateString();
  93. if(showWeek)
  94. {
  95. varWeek=['日','一','二','三','四','五','六'];
  96. str+='星期'+Week[myDate.getDay()];
  97. }
  98. returnstr;
  99. }
  100. //+---------------------------------------------------
  101. //|日期合法性验证
  102. //|格式为:YYYY-MM-DD或YYYY/MM/DD
  103. //+---------------------------------------------------
  104. functionIsValidDate(DateStr)
  105. {
  106. varsDate=DateStr.replace(/(^\s+|\s+$)/g,'');//去两边空格;
  107. if(sDate=='')returntrue;
  108. //如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''
  109. //数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式
  110. vars=sDate.replace(/[\d]{4,4}[\-/]{1}[\d]{1,2}[\-/]{1}[\d]{1,2}/g,'');
  111. if(s=='')//说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
  112. {
  113. vart=newDate(sDate.replace(/\-/g,'/'));
  114. varar=sDate.split(/[-/:]/);
  115. if(ar[0]!=t.getYear()||ar[1]!=t.getMonth()+1||ar[2]!=t.getDate())
  116. {
  117. //alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
  118. returnfalse;
  119. }
  120. }
  121. else
  122. {
  123. //alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
  124. returnfalse;
  125. }
  126. returntrue;
  127. }
  128. //+---------------------------------------------------
  129. //|日期时间检查
  130. //|格式为:YYYY-MM-DDHH:MM:SS
  131. //+---------------------------------------------------
  132. functionCheckDateTime(str)
  133. {
  134. varreg=/^(\d+)-(\d{1,2})-(\d{1,2})(\d{1,2}):(\d{1,2}):(\d{1,2})$/;
  135. varr=str.match(reg);
  136. if(r==null)returnfalse;
  137. r[2]=r[2]-1;
  138. vard=newDate(r[1],r[2],r[3],r[4],r[5],r[6]);
  139. if(d.getFullYear()!=r[1])returnfalse;
  140. if(d.getMonth()!=r[2])returnfalse;
  141. if(d.getDate()!=r[3])returnfalse;
  142. if(d.getHours()!=r[4])returnfalse;
  143. if(d.getMinutes()!=r[5])returnfalse;
  144. if(d.getSeconds()!=r[6])returnfalse;
  145. returntrue;
  146. }
  147. //+---------------------------------------------------
  148. //|把日期分割成数组
  149. //+---------------------------------------------------
  150. Date.prototype.toArray=function()
  151. {
  152. varmyDate=this;
  153. varmyArray=Array();
  154. myArray[0]=myDate.getFullYear();
  155. myArray[1]=myDate.getMonth();
  156. myArray[2]=myDate.getDate();
  157. myArray[3]=myDate.getHours();
  158. myArray[4]=myDate.getMinutes();
  159. myArray[5]=myDate.getSeconds();
  160. returnmyArray;
  161. }
  162. //+---------------------------------------------------
  163. //|取得日期数据信息
  164. //|参数interval表示数据类型
  165. //|y年m月d日w星期ww周h时n分s秒
  166. //+---------------------------------------------------
  167. Date.prototype.DatePart=function(interval)
  168. {
  169. varmyDate=this;
  170. varpartStr='';
  171. varWeek=['日','一','二','三','四','五','六'];
  172. switch(interval)
  173. {
  174. case'y':partStr=myDate.getFullYear();break;
  175. case'm':partStr=myDate.getMonth()+1;break;
  176. case'd':partStr=myDate.getDate();break;
  177. case'w':partStr=Week[myDate.getDay()];break;
  178. case'ww':partStr=myDate.WeekNumOfYear();break;
  179. case'h':partStr=myDate.getHours();break;
  180. case'n':partStr=myDate.getMinutes();break;
  181. case's':partStr=myDate.getSeconds();break;
  182. }
  183. returnpartStr;
  184. }
  185. //+---------------------------------------------------
  186. //|取得当前日期所在月的最大天数
  187. //+---------------------------------------------------
  188. Date.prototype.MaxDayOfDate=function()
  189. {
  190. varmyDate=this;
  191. varary=myDate.toArray();
  192. vardate1=(newDate(ary[0],ary[1]+1,1));
  193. vardate2=date1.dateAdd(1,'m',1);
  194. varresult=dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));
  195. returnresult;
  196. }
  197. //+---------------------------------------------------
  198. //|取得当前日期所在周是一年中的第几周
  199. //+---------------------------------------------------
  200. Date.prototype.WeekNumOfYear=function()
  201. {
  202. varmyDate=this;
  203. varary=myDate.toArray();
  204. varyear=ary[0];
  205. varmonth=ary[1]+1;
  206. varday=ary[2];
  207. document.write('<scriptlanguage=VBScript\>\n');
  208. document.write('myDate=DateValue('+month+'-'+day+'-'+year+')\n');
  209. document.write("result=DatePart('ww',myDate)\n");
  210. document.write('\n');
  211. returnresult;
  212. }
  213. //+---------------------------------------------------
  214. //|字符串转成日期类型
  215. //|格式MM/dd/YYYYMM-dd-YYYYYYYY/MM/ddYYYY-MM-dd
  216. //+---------------------------------------------------
  217. functionStringToDate(DateStr)
  218. {
  219. varconverted=Date.parse(DateStr);
  220. varmyDate=newDate(converted);
  221. if(isNaN(myDate))
  222. {
  223. //vardelimCahar=DateStr.indexOf('/')!=-1?'/':'-';
  224. vararys=DateStr.split('-');
  225. myDate=newDate(arys[0],--arys[1],arys[2]);
  226. }
  227. returnmyDate;
  228. }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics