首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为当前日期添加12个月

为当前日期添加12个月
EN

Stack Overflow用户
提问于 2019-04-26 18:35:19
回答 4查看 74关注 0票数 2

您好,我想为当前日期添加12个月并减去1天。

示例:

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

我尝试了下面的代码,但出现错误"getFullYear() a function to

代码语言:javascript
复制
this.endDate =this.valStartDate.getFullYear()+1+'-'+this.valStartDate.getMonth()+'-'+(this.valStartDate.getDate()-1);
EN

回答 4

Stack Overflow用户

发布于 2019-04-26 18:46:10

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

代码语言:javascript
复制
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);
票数 2
EN

Stack Overflow用户

发布于 2019-04-26 18:43:46

这是一种提取你想要的日期的方法,应用这个变量,你就可以开始工作了。

代码语言:javascript
复制
var date = new Date(); // now 
var newDate = new Date(date.getFullYear() + 1, date.getMonth(), date.getDate() - 1);

console.log(newDate.toLocaleDateString());

this.valStartDate必须是有效的javascript日期,并且格式必须与new Date();提供的格式相同。

代码语言:javascript
复制
Fri Apr 26 2019 11:52:15 GMT+0100 (British Summer Time)
票数 1
EN

Stack Overflow用户

发布于 2019-04-26 18:43:20

代码语言:javascript
复制
this.endDate = new Date(this.endDate); // <= maybe you get a string date...
this.endDate.setMonth(this.endDate.getMonth() + 12);
this.endDate.setDate(this.endDate.getDate() - 1);

如果您从服务器或以前的Json格式获取数据,可能需要首先将其从string转换为Datethis.endDate = new Date(this.endDate);。看起来这是你的案子。

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

https://stackoverflow.com/questions/55865785

复制
相关文章

相似问题

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