JS中在当前日期上追加一天或者获取上一个月和下一个月

JS中在当前日期上追加一天:


Date本来就有setDate()的方法 ,用getDate()出来的数值+1就是加1天 如果大于本月最大天数会自动往下加一个月的

如:

<script language="javascript">
var now = new Date();
now.setDate(now.getDate()+1);  
alert(now);
</script>





获取上一个月或者下一个月的算法

  1. </pre>js获取上一个月和下一个月<pre name="code" class="javascript">/** 
  2.          * 获取上一个月 
  3.          * 
  4.          * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 
  5.          */  
  6.         function getPreMonth(date) {  
  7.             var arr = date.split('-');  
  8.             var year = arr[0]; //获取当前日期的年份  
  9.             var month = arr[1]; //获取当前日期的月份  
  10.             var day = arr[2]; //获取当前日期的日  
  11.             var days = new Date(year, month, 0);  
  12.             days = days.getDate(); //获取当前日期中月的天数  
  13.             var year2 = year;  
  14.             var month2 = parseInt(month) - 1;  
  15.             if (month2 == 0) {  
  16.                 year2 = parseInt(year2) - 1;  
  17.                 month2 = 12;  
  18.             }  
  19.             var day2 = day;  
  20.             var days2 = new Date(year2, month2, 0);  
  21.             days2 = days2.getDate();  
  22.             if (day2 > days2) {  
  23.                 day2 = days2;  
  24.             }  
  25.             if (month2 < 10) {  
  26.                 month2 = '0' + month2;  
  27.             }  
  28.             var t2 = year2 + '-' + month2 + '-' + day2;  
  29.             return t2;  
  30.         }  
  31.           
  32.         /** 
  33.          * 获取下一个月 
  34.          * 
  35.          * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 
  36.          */          
  37.         function getNextMonth(date) {  
  38.             var arr = date.split('-');  
  39.             var year = arr[0]; //获取当前日期的年份  
  40.             var month = arr[1]; //获取当前日期的月份  
  41.             var day = arr[2]; //获取当前日期的日  
  42.             var days = new Date(year, month, 0);  
  43.             days = days.getDate(); //获取当前日期中的月的天数  
  44.             var year2 = year;  
  45.             var month2 = parseInt(month) + 1;  
  46.             if (month2 == 13) {  
  47.                 year2 = parseInt(year2) + 1;  
  48.                 month2 = 1;  
  49.             }  
  50.             var day2 = day;  
  51.             var days2 = new Date(year2, month2, 0);  
  52.             days2 = days2.getDate();  
  53.             if (day2 > days2) {  
  54.                 day2 = days2;  
  55.             }  
  56.             if (month2 < 10) {  
  57.                 month2 = '0' + month2;  
  58.             }  
  59.           
  60.             var t2 = year2 + '-' + month2 + '-' + day2;  
  61.             return t2;  
  62.         }  
  63.           
  64.         //测试          
  65.         //alert(getPreMonth("2014-01-25"));  
  66.         //alert(getNextMonth("2014-12-25"));  

或者另外一种方法:

如果只是要月份 , 就不用跟日期类打交道了..直接算就好了

1
2
3
4
5
6
7
8
9
10
11
12
13
function getMonths(date1 , date2){
    //用-分成数组
    date1 = date1.split("-");
    date2 = date2.split("-");
    //获取年,月数
    var year1 = parseInt(date1[0]) , 
        month1 = parseInt(date1[1]) , 
        year2 = parseInt(date2[0]) , 
        month2 = parseInt(date2[1]) , 
        //通过年,月差计算月份差
        months = (year2 - year1) * 12 + (month2-month1) + 1;
    return months;    
}

没有更多推荐了,返回首页