gpt4 book ai didi

javascript - 两个日期的比较失败(闰年影响)

转载 作者:行者123 更新时间:2023-12-02 13:49:30 27 4
gpt4 key购买 nike

闰年的 1 月 30 日和 2 月 1 日似乎相等。

new Date(1972, 01, 30).getTime() == new Date(1972, 02, 01).getTime();//正确

1 月 30 日和 2 月 2 日在非闰年似乎相等。

new Date(1973, 01, 30).getTime() == new Date(1973, 02, 02).getTime();//正确

2月1日和2月2日似乎每次都有效。

new Date(1973, 02, 01).getTime() == new Date(1973, 02, 02).getTime();//错误的
new Date(1972, 02, 01).getTime() == new Date(1972, 02, 02).getTime();//错误

循环 19 年:https://jsfiddle.net/rd1qe9bt/3/

为什么会这样工作,我可以以某种方式区分这些日期吗?

最佳答案

您对 Date() 函数的参数略有偏差。 1 月至 12 月的月份范围为 0 - 11。

当您的示例被修改为使用正确的格式时,它们的行为将按预期进行:

// comparing January 30, 1972 to February 1, 1972
new Date(1972, 0, 30).getTime() == new Date(1972, 01, 01).getTime(); // false

// comparing January 30, 1973 to February 2, 1973
new Date(1973, 0, 30).getTime() == new Date(1973, 02, 02).getTime(); // false

您比较 2 月 1 日和 2 日的示例的论据是正确的,这就是它们每次都有效的原因。

关于javascript - 两个日期的比较失败(闰年影响),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41109153/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com