JavaScript中的Date()对象getTime()输出-28800000

在JavaScript中,Date.getTime()返回的是从1970年1月1日0时0分0秒UTC到指定日期的毫秒数。作者发现创建的1970年1月1日0时0分0秒的Date对象在本地时区(东八区)显示为-28800000毫秒,这是因为忽略了UTC和本地时间8小时的差。文章强调了理解时区在处理时间时的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自认为对JavaScript的日期时间对象Date()比较熟悉了,用它做过数字时钟、倒计时等不少案例,Date.getTime()表示自 1970 年 1 月 1 日 00:00:00 UTC(the Unix epoch)以来的毫秒数。
今天写代码时,特意创建了一个1970 年 1 月 1 日0时0分0秒的日期时间对象,

var d3 = new Date(1970,0,1,0,0,0);
console.log(d3.getTime());

结果控制台输出

-28800000

我有些诧异,居然不是0,这是为什么?
后来计算了一下,一天是86400000毫秒,这28800000是一天的1/3,应该是8,也就是-8小时。然后我就明白怎么回事了,我以前把重点放在1970年1月1日00:00:00上,没注意还有个UTC。我们所在的时区是东八区,不是格林尼治时间,所以有8个小时的差距是对的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值