Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果年度增加,如何处理提前6个月的日期_Javascript_Date - Fatal编程技术网

Javascript 如果年度增加,如何处理提前6个月的日期

Javascript 如果年度增加,如何处理提前6个月的日期,javascript,date,Javascript,Date,这是我的函数,我正在尝试获取6个月ahea或6个月之前的日期 var newEndDate = formatDateaddMonths(startDate,+6); function formatDateaddMonths(dateMod, monthsAddedDeducted) { //startDate //split date var dateSplit = dateMod;

这是我的函数,我正在尝试获取6个月ahea或6个月之前的日期

  var newEndDate = formatDateaddMonths(startDate,+6);

 function formatDateaddMonths(dateMod, monthsAddedDeducted)
       {

           //startDate
           //split date
           var dateSplit = dateMod;
           var dateSplitted = dateSplit.split("/");
           var day = dateSplitted[0];
           var month = dateSplitted[1];
           var year = dateSplitted[2];

           console.log("day" + day);
           console.log("month" + month);
           console.log("year" + year);

           newDateModification = day + '/' + month + '/' + year;
           var newDate = Date.parse(newDateModification).add(monthsAddedDeducted).months();
           //convert to string
           var newDateString = newDate.toString('dd/MM/yyyy');
           return newDateString;
       }
只要在年底之前不调用该函数,该函数就可以正常工作

例如,如果
startDate=10/11/2015
,它会中断,因为年份没有增加,日期最终为
29/12/2015

Date.parse(newDateModification).add(monthsAddedDeducted).months(); 
是一个date.js函数

你知道如何处理年度增量吗


谢谢。

如果您使用与

normalizeMonths( dateString ){
    var split = dateString.split("/");
    if ( split[1] > 12 ){
        split[1] = split[1] - 12;
        split[2] = split[2] + 1;
    }

然后像以前一样重新组合日期,这应该可以解决问题。

解决方案是使用矩.js:

var a = moment([2010, 0, 31]).subtract(6, 'months');
var b = moment([2010, 0, 31]).add(6, 'months');

您应该以毫秒为单位递增和递减日期值,这样就无关紧要了