【问题标题】:JavaScript date comparison [duplicate]JavaScript日期比较[重复]
【发布时间】:2011-02-14 16:52:01
【问题描述】:

可能重复:
Compare 2 dates with JavaScript

我没有做过太多的 JavaScript。我正在尝试比较两个日期。来自 jconsole:

a = ["01/01/2010","01/02/2010","01/03/2010"]

date1 = new Date('01/02/2010')
Sat Jan 02 2010 00:00:00 GMT-0800 (PST)

date2 = new Date(a[1])
Sat Jan 02 2010 00:00:00 GMT-0800 (PST)

date1 == date2
false

谁能告诉我为什么这不匹配?

【问题讨论】:

  • 有趣的是,在这种情况下>=<= 返回true,但== 给出false。另一个 JavaScript 奇迹。

标签: javascript


【解决方案1】:

您的比较返回 false,因为 date1date2 只是对不同对象的引用,而您实际上是在比较这些引用。

要正确比较日期值,您可以使用getTime() 方法,如下所示:

date1.getTime() === date2.getTime();   // returns true

【讨论】:

  • 好的,谢谢。所以 '===' 也比较类型。 '=' 也比较类型吗?
  • @ash34:是的,一般建议使用=== 而不是==。您可能还想查看此参考:developer.mozilla.org/en/Core_JavaScript_1.5_Reference/…。首先注意它说的部分:“如果两个对象引用同一个对象,则它们是严格相等的。”...还要检查不同比较运算符的描述。
猜你喜欢
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
  • 2011-11-06
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
  • 1970-01-01
相关资源
最近更新 更多