Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/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 new Date()设置了错误的月份_Javascript_Date - Fatal编程技术网

Javascript new Date()设置了错误的月份

Javascript new Date()设置了错误的月份,javascript,date,Javascript,Date,我想在new Date()函数中解析一个字符串(甚至是整数),但看看会发生什么: date = "2015-12-13" "2015-12-13" date "2015-12-13" date2 = new Date(date); Sat Dec 12 2015 19:00:00 GMT-0500 (Hora est. Pacífico, Sudamérica) date2 = new Date(2015,12,13); Wed Jan 13 2016 00:00:00 GMT-0500 (Ho

我想在new Date()函数中解析一个字符串(甚至是整数),但看看会发生什么:

date = "2015-12-13"
"2015-12-13"
date
"2015-12-13"
date2 = new Date(date);
Sat Dec 12 2015 19:00:00 GMT-0500 (Hora est. Pacífico, Sudamérica)
date2 = new Date(2015,12,13);
Wed Jan 13 2016 00:00:00 GMT-0500 (Hora est. Pacífico, Sudamérica)

有什么问题吗?

在javascript中,月份日期从0开始,因此在您的示例中,0将是一月,11将是十二月。

代码没有问题。月份从零开始计算,因此12月将是
11
,1月将是
0
。由于您提供了
12
作为月份,因此它将换行到下一个月,即2016年1月。JavaScript将值存储为数字,但将结果显示为日期。您需要使用日期函数来提取信息。第一个结果是,日期是以GMT解析的,但显示在您的本地时区中,该时区早于5小时。相关:,但它没有解决此处发生的12到0模。切勿使用日期构造函数或date.parse解析字符串<代码>“2015-12-13”在使用中的浏览器可将其视为UTC、本地或NaN。即使是标准编写者也在如何解析它的问题上摇摆不定。