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
为什么使用date对象的日期2014年10月31日和2014年11月1日在Javascript中具有相同的值?_Javascript_Date - Fatal编程技术网

为什么使用date对象的日期2014年10月31日和2014年11月1日在Javascript中具有相同的值?

为什么使用date对象的日期2014年10月31日和2014年11月1日在Javascript中具有相同的值?,javascript,date,Javascript,Date,为什么下面代码中的两个日期具有相同的valueOf()和getTime() var endDt=新日期(2014年10月31日); var endDt2=新日期(2014年11月1日); 警报(“getTime()\nendDt:+endDt.getTime()+”\nendDt2:+endDt2.getTime()); 警报(“valueOf()\nendDt:+endDt.valueOf()+”\nendDt2:+endDt2.valueOf()); 您创建的日期不正确。在JavaScr

为什么下面代码中的两个日期具有相同的
valueOf()
getTime()


var endDt=新日期(2014年10月31日);
var endDt2=新日期(2014年11月1日);
警报(“getTime()\nendDt:+endDt.getTime()+”\nendDt2:+endDt2.getTime());
警报(“valueOf()\nendDt:+endDt.valueOf()+”\nendDt2:+endDt2.valueOf());

您创建的日期不正确。在JavaScript中,月份是基于0的,因此
新日期(2014,10,31)为(理论上)11月31日,
新日期(2014年11月1日)
为12月1日

当然11月31日并不存在,所以12月1日是正确的

从中的黄色大框:

注意:如果将
日期
称为具有多个参数的构造函数,如果值大于其逻辑范围(例如,
13
作为月值提供,或
70
作为分钟值提供),则将调整相邻值。例如,
新日期(2013,13,1)
相当于
新日期(2014,1,1)
,两者都为
2014-02-01
创建了一个日期(请注意,月份以0为基础)


javascript中的日期确实有点奇怪。看看这个:Javascript日期月份是以0为基础的,所以11月应该是10个。怎么了,伙计!非常感谢,我明白了。