A-A+

javascript中计算日期加减程序代码

2016年01月21日 前端设计 暂无评论 阅读 6 views 次

本文章总结了关于javascript中计算日期加减程序代码,有使用到日期加减代码的朋友可参考本文章来操作。

实例,下面我总结了一下,写了一个js方法,主要解决,某个日期+多少月多少天=某个日期的问题,至于,某个日期-某个日期=多少天,代码如下:

  1. //解决IE下得到时间为NaN的情况  
  2. function parseISO8601(dateStringInRange) {  
  3.     var isoExp = /^s*(d{4})-(dd)-(dd)s*$/,  
  4.         date = new Date(NaN), month,  
  5.         parts = isoExp.exec(dateStringInRange);  
  6.     if(parts) {  
  7.       month = +parts[2];  
  8.       date.setFullYear(parts[1], month - 1, parts[3]);  
  9.       if(month != date.getMonth() + 1) {  
  10.         date.setTime(NaN);  
  11.       }  
  12.     }  
  13.     return date;  
  14. }  
  15. var change_date = function(dates,months,days) {  
  16.     var datestr = parseISO8601(dates);  
  17.     // 参数表示在当前日期下要增加的天数    
  18.     var now = new Date(datestr);   
  19.     if(months != 0){  
  20.         now.setMonth(now.getMonth() + months);      
  21.     }  
  22.     now.setDate((now.getDate()-1) + 1 * days);   
  23.     var year = now.getFullYear();    
  24.     if(months != 0){   
  25.         var month = now.getMonth()+1;   
  26.     }else{  
  27.         var month = now.getMonth()+1;  
  28.     }       
  29.     var day = now.getDate();    
  30.     if (month < 10) {    
  31.         month = '0' + month;    
  32.     }    
  33.     if (day < 10) {    
  34.         day = '0' + day;    
  35.     }    
  36.     return year + '-' + month + '-' + day;    
  37. };    
  38. var n = change_date("2012-12-01",12,32);  
  39. alert(n);  

javascript中日期的加减运算.如今天+80天.

例子,代码如下:

  1. <script>   
  2. function   DateAdd(interval,number,date)   
  3. {   
  4. /*  
  5.   *---------------   DateAdd(interval,number,date)   -----------------  
  6.   *   DateAdd(interval,number,date)    
  7.   *   功能:实现VBScript的DateAdd功能.  
  8.   *   参数:interval,字符串表达式,表示要添加的时间间隔.  
  9.   *   参数:number,数值表达式,表示要添加的时间间隔的个数.  
  10.   *   参数:date,时间对象.  
  11.   *   返回:新的时间对象.  
  12.   *   var   now   =   new   Date();  
  13.   *   var   newDate   =   DateAdd( "d ",5,now);  
  14.   *   author:wanghr100(灰豆宝宝.net)  
  15.   *   update:2004-5-28   11:46  
  16.   *---------------   DateAdd(interval,number,date)   -----------------  
  17.   */   
  18.         switch(interval)   
  19.         {   
  20.                 case   "y "   :   {   
  21.                         date.setFullYear(date.getFullYear()+number);   
  22.                         return   date;   
  23.                         break;   
  24.                 }   
  25.                 case   "q "   :   {   
  26.                         date.setMonth(date.getMonth()+number*3);   
  27.                         return   date;   
  28.                         break;   
  29.                 }   
  30.                 case   "m "   :   {   
  31.                         date.setMonth(date.getMonth()+number);   
  32.                         return   date;   
  33.                         break;   
  34.                 }   
  35.                 case   "w "   :   {   
  36.                         date.setDate(date.getDate()+number*7);   
  37.                         return   date;   
  38.                         break;   
  39.                 }   
  40.                 case   "d "   :   {   
  41.                         date.setDate(date.getDate()+number);   
  42.                         return   date;   
  43.                         break;   
  44.                 }   
  45.                 case   "h "   :   {   
  46.                         date.setHours(date.getHours()+number);   
  47.                         return   date;   
  48.                         break;   
  49.                 }   
  50.                 case   "m "   :   {   
  51.                         date.setMinutes(date.getMinutes()+number);   
  52.                         return   date;   
  53.                         break;   
  54.                 }   
  55.                 case   "s "   :   {   
  56.                         date.setSeconds(date.getSeconds()+number);   
  57.                         return   date;   
  58.                         break;   
  59.                 }   
  60.                 default   :   {   
  61.                         date.setDate(d.getDate()+number);   
  62.                         return   date;   
  63.                         break;   
  64.                 }   
  65.         }   
  66. }  
  67. var   now   =   new   Date();   
  68. //加五天.   
  69. var   newDate   =   DateAdd( "d ",5,now);   
  70. alert(newDate.toLocaleDateString())   
  71. //加两个月.   
  72. newDate   =   DateAdd( "m ",2,now);   
  73. alert(newDate.toLocaleDateString())   
  74. //加一年   
  75. newDate   =   DateAdd( "y ",1,now);   
  76. alert(newDate.toLocaleDateString())   
  77. </script>  
标签:

给我留言