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

Javascript中如何计算UTC当前时间与1970/01/01的毫秒时间差

问题原因

计算结果偏差的核心原因是作为减数的1970/01/01基准时间没有使用UTC时区解析:你现有代码中初始化的B是本地时区(GMT+1)的1970年1月1日0点,对应UTC时间为1969年12月31日23点,和预期的GMT0基准时间相差3600000毫秒,最终导致计算结果不符合要求。

解决方法

方法1:原生JS实现(无需第三方库)

JS原生内置的Date.now()方法直接返回当前UTC时间与1970年1月1日UTC 0点的毫秒级差值,完全匹配需求,仅需一行代码即可实现:

const utcTimestamp = Date.now();
console.log(utcTimestamp);

方法2:修正moment.js写法

仅需调整基准时间B的初始化逻辑,使用UTC模式解析时间即可:

const A = moment.utc();
// 以UTC模式解析日期,得到GMT0时区的1970/01/01 0点基准值
const B = moment.utc('19700101', 'YYYYMMDD');

const diff = A.diff(B, 'milliseconds');
console.log("Milisec diff : ", diff);
补充说明

你现有代码中的A本身确实为UTC时间,diff方法也可正常读取A的UTC时间值,问题完全来源于B的时区错位,修正后两个时间均为UTC时区,计算结果即可对齐预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:54:03