【发布时间】:2021-10-03 14:10:09
【问题描述】:
我尝试在 chrome 控制台中比较 2 个相同的日期:
new Date("2021-06-23") == new Date("2021-06-23")
这是假的
新日期(“2021-06-23”)>新日期(“2021-06-23”)
这是假的
但是,new Date("2021-06-23") >= new Date("2021-06-23")
这是真的
我不明白为什么它对大于或等于给出 true,而对大于和等于也给出 false。
请解释一下。
【问题讨论】:
-
==应用于对象时检查它们是否同一个对象,而不是两个不同的对象但具有相似的内容。关系运算符改为进行隐式转换。 -
^ 这个。相比之下,
Date对象为>/>=/</<=运算符定义了比较日期值的行为。 -
我还应该指出,由于您没有定义日期的时间部分,因此无法保证
new Date("2021-06-23") == new Date("2021-06-23")无论如何都是正确的,因为调用之间的毫秒数可能会发生变化。 -
@NiettheDarkAbsol 如果传递了 ISO 日期字符串,那么毫秒将被初始化为零。
标签: javascript class date datetime