首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日期js不能添加月份

问日期js不能添加月份
EN

Stack Overflow用户
提问于 2015-12-14 20:27:26
回答 1查看 269关注 0票数 0

大家好,我使用日期js库,在添加额外的月份时有问题。

在这里,我的简单代码:

代码语言:javascript
复制
var durationMonth = $('#periodId').find(':selected').data('id'); // value => 3 m
var startDate = $('#comencingDate').val(); // value -> 2015.12.14
$('#expiringDate').val(Date.parse(startDate + ' + ' + durationMonth).toString("yyyy-MM-dd")); 
// This return 2016-03-03, but have to return 2016-03-13

这里是小演示http://jsfiddle.net/d9rttxta/1/

问题只是几个月,几天几年的工作还算顺利。如果你有什么建议,我会很高兴听到的。提前谢谢。

预期结果:2016-03-13

实际结果:2016-03-03

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-14 21:15:00

将月份添加到某个日期将将日期重新设置为月份的第一天。因此,您需要从值中提取日期部分,然后将其附加到月份值。

代码语言:javascript
复制
$('.change').on('click', function() {
            var durationMonth = $('#periodId').find(':selected').data('id');      
            var startDate = $('#comencingDate').val();
            $('#expiringDate').val(Date.parse(Date.parse(startDate).toString("dd") + ' + ' + durationMonth).toString("yyyy-MM-dd"));
});

工作示例:http://jsfiddle.net/d9rttxta/3/

更新:为了将一个月添加到未来一年的日期,以下是您可以尝试的方法:

代码语言:javascript
复制
$('.change').on('click', function() {
            var durationMonth = $('#periodId').find(':selected').data('id');      
            var startDate = $('#comencingDate').val();
      var monthDiff = Date.parse(startDate).getMonth() - new Date().getMonth()
       + (12 * (Date.parse(startDate).getFullYear() - new Date().getFullYear())); 

      var calcDate = Date.parse(Date.parse(startDate).toString("dd") + ' + ' + durationMonth).toString("yyyy-MM-dd");  

      if(monthDiff > 0)
      {
         var n_calcDate = new Date(calcDate);
         n_calcDate.setMonth(n_calcDate.getMonth() + monthDiff);
         n_calcDate.setDate(n_calcDate.getDate() + 1);
         calcDate = n_calcDate.toString("yyyy-MM-dd");
      }

            $('#expiringDate').val(calcDate);
});

工作示例:http://jsfiddle.net/d9rttxta/5/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34275998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档