JavaScript 日期比较奇怪

标签 javascript

我对 JavaScript 日期比较有疑问。我为 10 月 31 日创建了一个 Date 对象,为 11 月 1 日创建了另一个对象,但每个对象的 getTime() 返回相同的数字,并且大于/小于运算符也认为日期相等。这是我的代码:

d1 = new Date(2012, 10, 31, 0, 0, 0, 0);
d2 = new Date(2012, 11, 1, 0, 0, 0, 0);
document.write(d1.getTime() + "<br />");
document.write(d2.getTime() + "<br />");
document.write((d1 < d2) + "<br />");
document.write((d1 > d2) + "<br />");

这是输出:

1354320000000
1354320000000
false
false

相同的代码在其他月份结束时工作正常,似乎只是这两个日期导致了问题。

感谢任何帮助!

最佳答案

11 月 (10) 没有 31 天,因此它将换行到 12 月 (11) 1 日。

new Date(2012, 10, 31, 0, 0, 0, 0)
//Sat Dec 01 2012 00:00:00 GMT+0200 (FLE Standard Time)

//more wrapping:
new Date(2012, 10, 35, 0, 0, 0, 0)
//Wed Dec 05 2012 00:00:00 GMT+0200 (FLE Standard Time)

关于JavaScript 日期比较奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13202844/

相关文章:

javascript - JS : keyEvents won't work correctly - work with +1 key(press-down-up)

javascript - d3.min.js Uncaught TypeError : a. 映射不是函数

javascript - 方法是否被视为事件处理程序?

javascript - 比立即调用函数表达式更好的方法来实现这一点?

javascript - 使用 ember-intl 异步加载翻译

javascript - 当用户单击通知 Div 之外的任意位置时,使通知 Div 淡出

javascript - 使用node.js更改目录

javascript - window.onbeforeunload 自定义消息上的返回消息未设置。它总是显示默认消息

javascript - 使用 jQuery 将 div 附加到文档末尾?

javascript - 两个javascript数组,使用key来查找