Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/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日期对象返回4月31日?_Javascript - Fatal编程技术网

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

Javascript日期对象返回4月31日?,javascript,Javascript,Javascript中的Date对象似乎有错误,它认为2017年4月31日是真实的一天。我是从今天8月29日开始的90天前的日期中发现这一点的。以下是我的上下文代码片段: *编辑:对于上下文,这在技术上是在谷歌应用程序脚本中 var now = new Date(); var ninetyDaysAgo = new Date(now.getTime() - 90 * 1000 * 60 * 60 * 24); var dateStr = ninetyDaysAgo.getFullYear() +

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

*编辑:对于上下文,这在技术上是在谷歌应用程序脚本中

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的正确日期。这只是date类中的一个东西还是我遗漏了什么?

是以零为基础的。因此,您需要像下面这样使用它:

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

5月31日是5月31日吗?我想你可能把你的月份搞混了。@axlj是的。嗯。。我仔细检查了我的日志,我得到了4-31-17。。。。让我用更多的代码更新帖子4-31-17不是date对象的toString函数会返回的东西。你在用什么?你知道它是以零为基础的吗?我刚刚更新了代码,我意识到我的错误是我忘记了月份是以零为基础的……是时候休息了。非常感谢。