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

使用dayjs将Unix时间戳转换为UTC+0时区为何出现偏移异常

问题原因

你得到+01:00的时区结果属于正常现象,Europe/London是包含夏令时规则的地区时区:每年3月最后一个周日至10月最后一个周日会执行夏令时,时间相比标准UTC快1小时。你测试的时间为2021年5月20日,正好处于伦敦夏令时生效周期内,因此转换后自动适配为夏令时的+01:00偏移,并非方法调用出错。

解决方法

如果你需要固定获取+0:00时区(即UTC标准时间)的转换结果,有两种常用方案:

  • 方案1:直接调用dayjs内置的utc()方法转换,无需额外依赖地区时区规则:
console.log("UTC TIMESTAMP: ", dayjs.unix(timestamp).utc().format());
// 输出结果:2021-05-20T11:46:07+00:00
  • 方案2:如果需要通过tz()方法指定时区,使用无夏令时调整的固定UTC时区Etc/UTC:
console.log("FIXED TIMESTAMP: ", dayjs.unix(timestamp).tz("Etc/UTC").format());
// 输出结果:2021-05-20T11:46:07+00:00

注意:使用tz()方法前需要确保已正确引入并注册dayjs/plugin/utc、dayjs/plugin/timezone两个插件,以及对应的时区数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:06:01