You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用moment.js转UTC日期到毫秒:为何date.getTime()与moment结果相等?

为什么date.getTime()与moment().utc(date).valueOf()结果相等?

不管你用JavaScript原生的Date对象还是Moment.js处理时间,核心要明白一点:时间戳(UNIX纪元以来的毫秒数)是与时区无关的绝对数值。

  • 你创建的const date = new Date(),虽然显示的是西班牙本地时区(UTC+2)的时间,但它内部存储的本质是当前时刻对应的UTC时间戳,date.getTime()就是直接返回这个数值。
  • 用moment().utc(date)处理时,Moment.js会读取date内部的时间戳,只是把显示模式切换为UTC时区,但不会修改这个底层的时间戳数值。utc.valueOf()最终返回的还是同一个时间戳。

简单来说,时区只是时间的展示形式,而时间戳是时间的绝对计量值——不管怎么切换时区展示,这个计量值都不会发生改变,所以两者的结果必然相等。

内容的提问来源于stack exchange,提问作者Raul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 16:36:10