4月31日返回的Javascript日期对象?

时间:2017-08-29 19:01:53

标签: javascript

Javascript中的Date对象似乎有错误,它认为2017年4月31日是真实的一天。我从今天(8月29日)开始尝试获取90天前的日期。以下是我的上下文代码片段:

*编辑:对于上下文,这在Google Apps脚本中是技术性的。

var now = new Date();
var ninetyDaysAgo = new Date(now.getTime() - 90 * 1000 * 60 * 60 * 24);
var dateStr = ninetyDaysAgo.getFullYear() + '-' + 
              ninetyDaysAgo.getMonth() + '-' + 
              ninetyDaysAgo.getDate();
//If I print dateStr it's '2017-4-31'

这很重要,因为我需要正确的日期才能使用API​​。这只是日期课中的一件事还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

getMonth从零开始。所以你需要像下面这样使用它:

var dateStr = ninetyDaysAgo.getFullYear() + '-' + 
              (ninetyDaysAgo.getMonth() + 1) + '-' + 
              ninetyDaysAgo.getDate();