javascript getMonth() off by 2?



我理解getMonth()是零索引,因此,例如,6月是5。但在某些情况下,它会"偏离"2。

myDate = new Date(1622513190000)
month = myDate.getMonth()
console.log(myDate)
console.log(month)

的回报:

2021 - 06 - 01 t02:06:30.000z

4

有人知道为什么这是返回4而不是5吗?我正在使用节点v14.15.5,并且正在获得其他日期的预期结果(9月为8,8月为7)

谢谢!

大家好,欢迎来到这里

处理日期和时区有点棘手,这里的每个人都可以证明。一般情况下,我建议您阅读这篇关于协调世界时的文章。

您在myDate中看到的Z表示Zulu time,是参考时区UTC±00:00的军称。±00:00表示与祖鲁时间的最终偏移。

在为这个问题疯狂之后,我建议你:

总是
  • 以Zulu格式获取和存储日期,然后用它们计算时间流逝
  • 可以向用户显示本地日期,但这只是为了显示它们。如果你必须计算一个用户输入,首先得到UTC等效(如@RobG建议)。

祝你好运!:)

相关内容

  • 没有找到相关文章

最新更新