为Now Date添加12个月

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

我想添加12个月,减去我当前日期的1天。

示例:

  1. valStartDate:2018-01-20
  2. expected_date:2019年1月19日

我尝试下面的代码,但错误 “getFullYear()不是一个允许的函数”

this.endDate =this.valStartDate.getFullYear()+1+'-'+this.valStartDate.getMonth()+'-'+(this.valStartDate.getDate()-1);
提问于
用户回答回答于

确保您的给定开始日期是日期而不是字符串。

var startDate = new Date(2018, 0, 20);
var startDatePlus12Months = new Date(startDate.setMonth(startDate.getMonth() + 12));
var expectedDate = new Date(startDatePlus12Months.getFullYear(), startDatePlus12Months.getMonth(), startDatePlus12Months.getDate() - 1);
用户回答回答于

这是一个抽象你想要的日期的方法,应用这个变量你应该很好。

var date = new Date(); // now 
var newDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate() - 1);

console.log(newDate.toLocaleDateString());

this.valStartDate.getFullYear()为了使其正常工作,this.valStartDate必须是有效的javascript日期,并且看起来与new Date();您提供的格式相同。

Fri Apr 26 2019 11:52:15 GMT+0100 (British Summer Time)

扫码关注云+社区

领取腾讯云代金券