Javascript new Date()在执行getTime()时给出了相同的结果

时间:2012-01-27 18:25:39

标签: javascript date gettime

要计算2个日期,我正在从字符串转换为javascript Date对象。

这是我所拥有的代码的例子:

 var date1 = new Date(dateArrray1[2], dateArrray1[1], dateArrray1[0], 0, 0, 0, 0);
 var date2 = new Date(dateArrray2[2], dateArrray2[1], dateArrray2[0], 0, 0, 0, 0);

我的问题在于,当我对这两个日期对象进行验证时,我在某个日期的getTime函数上得到了相同的结果。

var date1 = new Date(2012, 01, 30, 12, 0, 0, 0).getTime()
var date2 = new Date(2012, 02, 01, 12, 0, 0, 0).getTime()

通常date1 dans date2的值应该不同。但是惊喜!这两个对象的值是相同的(实际值是1330621200000)。

有人和我有同样的问题吗?

2 个答案:

答案 0 :(得分:3)

月份字段的范围是0 - 11,而不是1 - 12

所以在这种情况下你要求2月30日和3月1日。

今年2月有29天,因此2月30日(数学上)与3月1日相同。

答案 1 :(得分:3)

Javascript日期使用0个月。
如果您通过了无效日期,例如2月30日 th ,它将确定该日期实际是什么。
因此,闰年2月30日 th 与3月1日 st 相同。