js操作日期(函式,js版的dateAdd與dateDiff,四捨五入(round()方法)並保留小數點後N位的函式)

赤砂之蠍我愛羅發表於2012-08-16

JS操作時間(函式)

[javascript] view plaincopy
  1. var myDate = new Date();  
  2.   
  3. myDate.getYear();        //獲取當前年份(2位)  
  4.   
  5. myDate.getFullYear();    //獲取完整的年份(4位,1970-????)  
  6.   
  7. myDate.getMonth();       //獲取當前月份(0-11,0代表1月)  
  8.   
  9. myDate.getDate();        //獲取當前日(1-31)  
  10.   
  11. myDate.getDay();         //獲取當前星期X(0-6,0代表星期天)  
  12.   
  13. myDate.getTime();        //獲取當前時間(從1970.1.1開始的毫秒數)  
  14.   
  15. myDate.getHours();       //獲取當前小時數(0-23)  
  16.   
  17. myDate.getMinutes();     //獲取當前分鐘數(0-59)  
  18.   
  19. myDate.getSeconds();     //獲取當前秒數(0-59)  
  20.   
  21. myDate.getMilliseconds();    //獲取當前毫秒數(0-999)  
  22.   
  23. myDate.toLocaleDateString();     //獲取當前日期  
  24.   
  25. var mytime=myDate.toLocaleTimeString();     //獲取當前時間  
  26.   
  27. myDate.toLocaleString( );        //獲取日期與時間  
  28.   
  29. 日期時間指令碼庫方法列表  
  30.   
  31. Date.prototype.isLeapYear 判斷閏年  
  32.   
  33. Date.prototype.Format 日期格式化  
  34.   
  35. Date.prototype.DateAdd 日期計算  
  36.   
  37. Date.prototype.DateDiff 比較日期差  
  38.   
  39. Date.prototype.toString 日期轉字串  
  40.   
  41. Date.prototype.toArray 日期分割為陣列  
  42.   
  43. Date.prototype.DatePart 取日期的部分資訊  
  44.   
  45. Date.prototype.MaxDayOfDate 取日期所在月的最大天數  
  46.   
  47. Date.prototype.WeekNumOfYear 判斷日期所在年的第幾周  
  48.   
  49. StringToDate 字串轉日期型  
  50.   
  51. IsValidDate 驗證日期有效性  
  52.   
  53. CheckDateTime 完整日期時間檢查  
  54.   
  55. daysBetween 日期天數差  
  56.   
  57. js程式碼:  
  58.   
  59. //---------------------------------------------------    
  60.   
  61. // 判斷閏年    
  62.   
  63. //---------------------------------------------------    
  64.   
  65. Date.prototype.isLeapYear = function()     
  66.   
  67. {     
  68.   
  69.     return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));     
  70.   
  71. }     
  72.   
  73.     
  74.   
  75. //---------------------------------------------------    
  76.   
  77. // 日期格式化    
  78.   
  79. // 格式 YYYY/yyyy/YY/yy 表示年份    
  80.   
  81. // MM/M 月份    
  82.   
  83. // W/w 星期    
  84.   
  85. // dd/DD/d/D 日期    
  86.   
  87. // hh/HH/h/H 時間    
  88.   
  89. // mm/m 分鐘    
  90.   
  91. // ss/SS/s/S 秒    
  92.   
  93. //---------------------------------------------------    
  94.   
  95. Date.prototype.Format = function(formatStr)     
  96.   
  97. {     
  98.   
  99.     var str = formatStr;     
  100.   
  101.     var Week = ['日','一','二','三','四','五','六'];    
  102.   
  103.     
  104.   
  105.     str=str.replace(/yyyy|YYYY/,this.getFullYear());     
  106.   
  107.     str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():'0' + (this.getYear() % 100));     
  108.   
  109.     
  110.   
  111.     str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0' + this.getMonth());     
  112.   
  113.     str=str.replace(/M/g,this.getMonth());     
  114.   
  115.     
  116.   
  117.     str=str.replace(/w|W/g,Week[this.getDay()]);     
  118.   
  119.     
  120.   
  121.     str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0' + this.getDate());     
  122.   
  123.     str=str.replace(/d|D/g,this.getDate());     
  124.   
  125.     
  126.   
  127.     str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0' + this.getHours());     
  128.   
  129.     str=str.replace(/h|H/g,this.getHours());     
  130.   
  131.     str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0' + this.getMinutes());     
  132.   
  133.     str=str.replace(/m/g,this.getMinutes());     
  134.   
  135.     
  136.   
  137.     str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0' + this.getSeconds());     
  138.   
  139.     str=str.replace(/s|S/g,this.getSeconds());     
  140.   
  141.     
  142.   
  143.     return str;     
  144.   
  145. }     
  146.   
  147.     
  148.   
  149. //+---------------------------------------------------    
  150.   
  151. //| 求兩個時間的天數差 日期格式為 YYYY-MM-dd     
  152.   
  153. //+---------------------------------------------------    
  154.   
  155. function daysBetween(DateOne,DateTwo)    
  156.   
  157. {     
  158.   
  159.     var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));    
  160.   
  161.     var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);    
  162.   
  163.     var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));    
  164.   
  165.     
  166.   
  167.     var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));    
  168.   
  169.     var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);    
  170.   
  171.     var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));    
  172.   
  173.     
  174.   
  175.     var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);     
  176.   
  177.     return Math.abs(cha);    
  178.   
  179. }    
  180.   
  181.     
  182.   
  183.     
  184.   
  185. //+---------------------------------------------------    
  186.   
  187. //| 日期計算    
  188.   
  189. //+---------------------------------------------------    
  190.   
  191. Date.prototype.DateAdd = function(strInterval, Number) {     
  192.   
  193.     var dtTmp = this;    
  194.   
  195.     switch (strInterval) {     
  196.   
  197.         case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number));    
  198.   
  199.         case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number));    
  200.   
  201.         case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number));    
  202.   
  203.         case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number));    
  204.   
  205.         case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));    
  206.   
  207.         case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());    
  208.   
  209.         case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());    
  210.   
  211.         case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());    
  212.   
  213.     }    
  214.   
  215. }    
  216.   
  217.     
  218.   
  219. //+---------------------------------------------------    
  220.   
  221. //| 比較日期差 dtEnd 格式為日期型或者 有效日期格式字串    
  222.   
  223. //+---------------------------------------------------    
  224.   
  225. Date.prototype.DateDiff = function(strInterval, dtEnd) {     
  226.   
  227.     var dtStart = this;    
  228.   
  229.     if (typeof dtEnd == 'string' )//如果是字串轉換為日期型    
  230.   
  231.     {     
  232.   
  233.         dtEnd = StringToDate(dtEnd);    
  234.   
  235.     }    
  236.   
  237.     switch (strInterval) {     
  238.   
  239.         case 's' :return parseInt((dtEnd - dtStart) / 1000);    
  240.   
  241.         case 'n' :return parseInt((dtEnd - dtStart) / 60000);    
  242.   
  243.         case 'h' :return parseInt((dtEnd - dtStart) / 3600000);    
  244.   
  245.         case 'd' :return parseInt((dtEnd - dtStart) / 86400000);    
  246.   
  247.         case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7));    
  248.   
  249.         case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);    
  250.   
  251.         case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear();    
  252.   
  253.     }    
  254.   
  255. }    
  256.   
  257.     
  258.   
  259. //+---------------------------------------------------    
  260.   
  261. //| 日期輸出字串,過載了系統的toString方法    
  262.   
  263. //+---------------------------------------------------    
  264.   
  265. Date.prototype.toString = function(showWeek)    
  266.   
  267. {     
  268.   
  269.     var myDate= this;    
  270.   
  271.     var str = myDate.toLocaleDateString();    
  272.   
  273.     if (showWeek)    
  274.   
  275.     {     
  276.   
  277.         var Week = ['日','一','二','三','四','五','六'];    
  278.   
  279.         str += ' 星期' + Week[myDate.getDay()];    
  280.   
  281.     }    
  282.   
  283.     return str;    
  284.   
  285. }    
  286.   
  287.     
  288.   
  289. //+---------------------------------------------------    
  290.   
  291. //| 日期合法性驗證    
  292.   
  293. //| 格式為:YYYY-MM-DD或YYYY/MM/DD    
  294.   
  295. //+---------------------------------------------------    
  296.   
  297. function IsValidDate(DateStr)     
  298.   
  299. {     
  300.   
  301.     var sDate=DateStr.replace(/(^/s+|/s+$)/g,''); //去兩邊空格;     
  302.   
  303.     if(sDate==''return true;     
  304.   
  305.     //如果格式滿足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替換為''     
  306.   
  307.     //資料庫中,合法日期可以是:YYYY-MM/DD(2003-3/21),資料庫會自動轉換為YYYY-MM-DD格式     
  308.   
  309.     var s = sDate.replace(/[/d]{ 4,4 }[/-/]{ 1 }[/d]{ 1,2 }[/-/]{ 1 }[/d]{ 1,2 }/g,'');     
  310.   
  311.     if (s==''//說明格式滿足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D     
  312.   
  313.     {     
  314.   
  315.         var t=new Date(sDate.replace(//-/g,'/'));     
  316.   
  317.         var ar = sDate.split(/[-/:]/);     
  318.   
  319.         if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())     
  320.   
  321.         {     
  322.   
  323.             //alert('錯誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');     
  324.   
  325.             return false;     
  326.   
  327.         }     
  328.   
  329.     }     
  330.   
  331.     else     
  332.   
  333.     {     
  334.   
  335.         //alert('錯誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');     
  336.   
  337.         return false;     
  338.   
  339.     }     
  340.   
  341.     return true;     
  342.   
  343. }     
  344.   
  345.     
  346.   
  347. //+---------------------------------------------------    
  348.   
  349. //| 日期時間檢查    
  350.   
  351. //| 格式為:YYYY-MM-DD HH:MM:SS    
  352.   
  353. //+---------------------------------------------------    
  354.   
  355. function CheckDateTime(str)    
  356.   
  357. {     
  358.   
  359.     var reg = /^(/d+)-(/d{ 1,2 })-(/d{ 1,2 }) (/d{ 1,2 }):(/d{ 1,2 }):(/d{ 1,2 })$/;     
  360.   
  361.     var r = str.match(reg);     
  362.   
  363.     if(r==null)return false;     
  364.   
  365.     r[2]=r[2]-1;     
  366.   
  367.     var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);     
  368.   
  369.     if(d.getFullYear()!=r[1])return false;     
  370.   
  371.     if(d.getMonth()!=r[2])return false;     
  372.   
  373.     if(d.getDate()!=r[3])return false;     
  374.   
  375.     if(d.getHours()!=r[4])return false;     
  376.   
  377.     if(d.getMinutes()!=r[5])return false;     
  378.   
  379.     if(d.getSeconds()!=r[6])return false;     
  380.   
  381.     return true;     
  382.   
  383. }     
  384.   
  385.     
  386.   
  387. //+---------------------------------------------------    
  388.   
  389. //| 把日期分割成陣列    
  390.   
  391. //+---------------------------------------------------    
  392.   
  393. Date.prototype.toArray = function()    
  394.   
  395. {     
  396.   
  397.     var myDate = this;    
  398.   
  399.     var myArray = Array();    
  400.   
  401.     myArray[0] = myDate.getFullYear();    
  402.   
  403.     myArray[1] = myDate.getMonth();    
  404.   
  405.     myArray[2] = myDate.getDate();    
  406.   
  407.     myArray[3] = myDate.getHours();    
  408.   
  409.     myArray[4] = myDate.getMinutes();    
  410.   
  411.     myArray[5] = myDate.getSeconds();    
  412.   
  413.     return myArray;    
  414.   
  415. }    
  416.   
  417.     
  418.   
  419. //+---------------------------------------------------    
  420.   
  421. //| 取得日期資料資訊    
  422.   
  423. //| 引數 interval 表示資料型別    
  424.   
  425. //| y 年 m月 d日 w星期 ww周 h時 n分 s秒    
  426.   
  427. //+---------------------------------------------------    
  428.   
  429. Date.prototype.DatePart = function(interval)    
  430.   
  431. {     
  432.   
  433.     var myDate = this;    
  434.   
  435.     var partStr='';    
  436.   
  437.     var Week = ['日','一','二','三','四','五','六'];    
  438.   
  439.     switch (interval)    
  440.   
  441.     {     
  442.   
  443.         case 'y' :partStr = myDate.getFullYear();break;    
  444.   
  445.         case 'm' :partStr = myDate.getMonth()+1;break;    
  446.   
  447.         case 'd' :partStr = myDate.getDate();break;    
  448.   
  449.         case 'w' :partStr = Week[myDate.getDay()];break;    
  450.   
  451.         case 'ww' :partStr = myDate.WeekNumOfYear();break;    
  452.   
  453.         case 'h' :partStr = myDate.getHours();break;    
  454.   
  455.         case 'n' :partStr = myDate.getMinutes();break;    
  456.   
  457.         case 's' :partStr = myDate.getSeconds();break;    
  458.   
  459.     }    
  460.   
  461.     return partStr;    
  462.   
  463. }    
  464.   
  465.     
  466.   
  467. //+---------------------------------------------------    
  468.   
  469. //| 取得當前日期所在月的最大天數    
  470.   
  471. //+---------------------------------------------------    
  472.   
  473. Date.prototype.MaxDayOfDate = function()    
  474.   
  475. {     
  476.   
  477.     var myDate = this;    
  478.   
  479.     var ary = myDate.toArray();    
  480.   
  481.     var date1 = (new Date(ary[0],ary[1]+1,1));    
  482.   
  483.     var date2 = date1.dateAdd(1,'m',1);    
  484.   
  485.     var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));    
  486.   
  487.     return result;    
  488.   
  489. }    
  490.   
  491.     
  492.   
  493. //+---------------------------------------------------    
  494.   
  495. //| 取得當前日期所在周是一年中的第幾周    
  496.   
  497. //+---------------------------------------------------    
  498.   
  499. Date.prototype.WeekNumOfYear = function()    
  500.   
  501. {     
  502.   
  503.     var myDate = this;    
  504.   
  505.     var ary = myDate.toArray();    
  506.   
  507.     var year = ary[0];    
  508.   
  509.     var month = ary[1]+1;    
  510.   
  511.     var day = ary[2];    
  512.   
  513.     document.write('< script language=VBScript/> /n');    
  514.   
  515.     document.write('myDate = DateValue(''+month+'-'+day+'-'+year+'') /n');    
  516.   
  517.     document.write('result = DatePart('ww', myDate) /n');    
  518.   
  519.     document.write(' /n');    
  520.   
  521.     return result;    
  522.   
  523. }    
  524.   
  525.     
  526.   
  527. //+---------------------------------------------------    
  528.   
  529. //| 字串轉成日期型別     
  530.   
  531. //| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd    
  532.   
  533. //+---------------------------------------------------    
  534.   
  535. function StringToDate(DateStr)    
  536.   
  537. {     
  538.   
  539.     
  540.   
  541.     var converted = Date.parse(DateStr);    
  542.   
  543.     var myDate = new Date(converted);    
  544.   
  545.     if (isNaN(myDate))    
  546.   
  547.     {     
  548.   
  549.         //var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';    
  550.   
  551.         var arys= DateStr.split('-');    
  552.   
  553.         myDate = new Date(arys[0],--arys[1],arys[2]);    
  554.   
  555.     }    
  556.   
  557.     return myDate;    
  558.   
  559. }    

js版的dateAdd與dateDiff

[javascript] view plaincopy
  1. /* 得到日期年月日等加數字後的日期 */   
  2. Date.prototype.dateAdd = function(interval,number)   
  3. {   
  4.     var d = this;   
  5.     var k={'y':'FullYear''q':'Month''m':'Month''w':'Date''d':'Date''h':'Hours''n':'Minutes''s':'Seconds''ms':'MilliSeconds'};   
  6.     var n={'q':3, 'w':7};   
  7.     eval('d.set'+k[interval]+'(d.get'+k[interval]+'()+'+((n[interval]||1)*number)+')');   
  8.     return d;   
  9. }   
  10. /* 計算兩日期相差的日期年月日等 */   
  11. Date.prototype.dateDiff = function(interval,objDate2)   
  12. {   
  13.     var d=this, i={}, t=d.getTime(), t2=objDate2.getTime();   
  14.     i['y']=objDate2.getFullYear()-d.getFullYear();   
  15.     i['q']=i['y']*4+Math.floor(objDate2.getMonth()/4)-Math.floor(d.getMonth()/4);   
  16.     i['m']=i['y']*12+objDate2.getMonth()-d.getMonth();   
  17.     i['ms']=objDate2.getTime()-d.getTime();   
  18.     i['w']=Math.floor((t2+345600000)/(604800000))-Math.floor((t+345600000)/(604800000));   
  19.     i['d']=Math.floor(t2/86400000)-Math.floor(t/86400000);   
  20.     i['h']=Math.floor(t2/3600000)-Math.floor(t/3600000);   
  21.     i['n']=Math.floor(t2/60000)-Math.floor(t/60000);   
  22.     i['s']=Math.floor(t2/1000)-Math.floor(t/1000);   
  23.     return i[interval];   
  24. }   

 

dateAdd 方法

返回已新增指定時間間隔的日期物件。

dateObj.dateAdd(interval, number)

引數

dateObj

    必選項。任意 Date 物件。

interval

    必選項。字串表示式,表示要新增的時間間隔。有關數值,請參閱“設定”部分。

number

    必選項。數值表示式,表示要新增的時間間隔的個數。數值表示式可以是正數(得到未來的日期)或負數(得到過去的日期)。

dateDiff 方法

返回兩個日期物件之間的時間間隔。

dateObj.dateDiff(interval, dateObj2)

引數

interval

    必選項。字串表示式,表示用於計算 date1 和 date2 之間的時間間隔。有關數值,請參閱“設定”部分。

dateObj, dateObj2

    必選項。日期物件。用於計算的兩個日期物件。

設定

interval 引數可以有以下值:

設定 描述
y
q 季度
m
d
w
h 小時
n 分鐘
s
ms 毫秒

 

js獲取日期星期

[c-sharp] view plaincopy
  1. <mce:script language=javascript><!--  
  2. //今天  
  3. function showToDay()  
  4. {  
  5. var Nowdate=new Date();  
  6. M=Number(Nowdate.getMonth())+1  
  7. return Nowdate.getYear()+"-"+M+"-"+Nowdate.getDate();  
  8. }  
  9.   
  10. //本週第一天  
  11. function showWeekFirstDay()  
  12. {  
  13. var Nowdate=new Date();  
  14. var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);  
  15. return WeekFirstDay;  
  16. }  
  17. //本週最後一天  
  18. function showWeekLastDay()  
  19. {  
  20. var Nowdate=new Date();  
  21. var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);  
  22. var WeekLastDay=new Date((WeekFirstDay/1000+6*86400)*1000);  
  23. return WeekLastDay;  
  24. }  
  25.   
  26. //本月第一天  
  27. function showMonthFirstDay()  
  28. {  
  29. var Nowdate=new Date();  
  30. var MonthFirstDay=new Date(Nowdate.getYear(),Nowdate.getMonth(),1);  
  31. return MonthFirstDay;  
  32. }  
  33. //本月最後一天  
  34. function showMonthLastDay()  
  35. {  
  36. var Nowdate=new Date();  
  37. var MonthNextFirstDay=new Date(Nowdate.getYear(),Nowdate.getMonth()+1,1);  
  38. var MonthLastDay=new Date(MonthNextFirstDay-86400000);  
  39. return MonthLastDay;  
  40. }  
  41. //上月第一天  
  42. function showPreviousFirstDay()  
  43. {  
  44. var MonthFirstDay=showMonthFirstDay()  
  45. return new Date(MonthFirstDay.getYear(),MonthFirstDay.getMonth()-1,1)  
  46. }  
  47. //上月最後一天  
  48. function showPreviousLastDay()  
  49. {  
  50. var MonthFirstDay=showMonthFirstDay();  
  51. return new Date(MonthFirstDay-86400000);  
  52. }  
  53. //上週第一天  
  54. function showPreviousFirstWeekDay()  
  55. {  
  56. var WeekFirstDay=showWeekFirstDay()  
  57. return new Date(WeekFirstDay-86400000*7)  
  58. }  
  59. //上週最後一天  
  60. function showPreviousLastWeekDay()  
  61. {  
  62. var WeekFirstDay=showWeekFirstDay()  
  63. return new Date(WeekFirstDay-86400000)  
  64. }  
  65. //上一天  
  66. function showPreviousDay()  
  67. {  
  68. var MonthFirstDay=new Date();  
  69. return new Date(MonthFirstDay-86400000);  
  70. }  
  71. //下一天  
  72. function showNextDay()  
  73. {  
  74. var MonthFirstDay=new Date();  
  75. return new Date((MonthFirstDay/1000+86400)*1000);  
  76. }  
  77. //下週第一天  
  78. function showNextFirstWeekDay()  
  79. {  
  80. var MonthFirstDay=showWeekLastDay()  
  81. return new Date((MonthFirstDay/1000+86400)*1000)  
  82. }  
  83. //下週最後一天  
  84. function showNextLastWeekDay()  
  85. {  
  86. var MonthFirstDay=showWeekLastDay()  
  87. return new Date((MonthFirstDay/1000+7*86400)*1000)  
  88. }  
  89. //下月第一天  
  90. function showNextFirstDay()  
  91. {  
  92. var MonthFirstDay=showMonthFirstDay()  
  93. return new Date(MonthFirstDay.getYear(),MonthFirstDay.getMonth()+1,1)  
  94. }  
  95. //下月最後一天  
  96. function showNextLastDay()  
  97. {  
  98. var MonthFirstDay=showMonthFirstDay()  
  99. return new Date(new Date(MonthFirstDay.getYear(),MonthFirstDay.getMonth()+2,1)-86400000)  
  100. }  
  101. function Date.prototype.toString(){  
  102. return this.getFullYear()+"-"+(this.getMonth()+1)+"-"+this.getDate();  
  103. }  
  104. function setDate(num){  
  105. if(num==1){  
  106. document.all.dateDate.value=showMonthFirstDay();  
  107. document.all.dateDate2.value=showMonthLastDay();  
  108. }  
  109. if(num==2){  
  110. document.all.dateDate.value=showWeekFirstDay();  
  111. document.all.dateDate2.value=showWeekLastDay();  
  112. }  
  113. if(num==3){  
  114. document.all.dateDate.value=showToDay();  
  115. document.all.dateDate2.value=showToDay();  
  116. }  
  117. if(num==4){  
  118. document.all.dateDate.value=showPreviousFirstDay();  
  119. document.all.dateDate2.value=showPreviousLastDay();  
  120. }  
  121. if(num==5){  
  122. document.all.dateDate.value=showNextFirstDay();  
  123. document.all.dateDate2.value=showNextLastDay();  
  124. }  
  125. if(num==6){  
  126. document.all.dateDate.value=showPreviousFirstWeekDay();  
  127. document.all.dateDate2.value=showPreviousLastWeekDay();  
  128. }  
  129. if(num==7){  
  130. document.all.dateDate.value=showNextFirstWeekDay();  
  131. document.all.dateDate2.value=showNextLastWeekDay();  
  132. }  
  133. if(num==8){  
  134. document.all.dateDate.value=showPreviousDay();  
  135. document.all.dateDate2.value=showPreviousDay();  
  136. }  
  137. if(num==9){  
  138. document.all.dateDate.value=showNextDay();  
  139. document.all.dateDate2.value=showNextDay();  
  140. }  
  141. }  
  142. // --></mce:script>  
  143. <input name=dateDate type=text>-><input name=dateDate2 type=text>  
  144.  <input name=haha type=button value="上一月" onclick=setDate(4)>   
  145.  <input name=haha type=button value="本月" onclick=setDate(1)>   
  146. <input name=haha type=button value="下一月" onclick=setDate(5)>   
  147. <input name=haha type=button value="上一週" onclick=setDate(6)>   
  148. <input name=haha type=button value="本週" onclick=setDate(2)>   
  149. <input name=haha type=button value="下一週" onclick=setDate(7)>   
  150. <input name=haha type=button value="上一天" onclick=setDate(8)>   
  151. <input name=haha type=button value="今天" onclick=setDate(3)>   
  152. <input name=haha type=button value="下一天" onclick=setDate(9)>  
  153.   
  154. 可以靈活組合  

相關文章