gpt4 book ai didi

javascript - new Date(...).getTime() 和 Date.UTC(...) 之间的区别

转载 作者:行者123 更新时间:2023-12-01 00:27:10 25 4
gpt4 key购买 nike

有人可以解释一下为什么这两个命令返回不同的结果:

> new Date(2019, 0, 1).getTime()
> 1546293600000

> Date.UTC(2019, 0, 1)
> 1546300800000

根据 getTime 方法的 MDN 文档:

The getTime() method returns the number of milliseconds* since the Unix Epoch.

getTime() always uses UTC for time representation. For example, a client browser in one timezone, getTime() will be the same as a client browser in any other timezone.

和 Date.UTC 方法:

The Date.UTC() method accepts parameters similar to the Date constructor, but treats them as UTC. It returns the number of milliseconds since January 1, 1970, 00:00:00 UTC.

它们应该是相同的吗?

我只是怀疑如何计算 1924 年和今天之间的差异。因为如果我们只在 1924 年的时间戳上添加一年(以毫秒为单位),它将完全困惑。有一个我根本无法理解的行为示例:

> new Date( new Date(1924, 0, 1).getTime() + 366 * 24 * 60 * 60 * 1000 )
> Wed Dec 31 1924 23:57:56 GMT+0200 (Eastern European Standard Time)

最佳答案

new Date(2019, 0, 1) 创建一个 Date 对象,表示您所在区域特定时区的 2019 年 1 月 1 日开始。转换为 UTC 后,该时间将与 UTC 1 月 1 日开始的时间不同。

运行第二个代码片段以添加一年为我提供了正确的结果。您在什么浏览器或上下文中运行?

关于javascript - new Date(...).getTime() 和 Date.UTC(...) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58884715/

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