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

如何在Node.js中通过Dayjs提取给定日期的UTC偏移量

Dayjs提取日期原始UTC偏移的解决办法

默认用dayjs(date)解析带时区偏移的日期时,会自动转成服务器本地时区,所以utcOffset()返回的是本地时区的偏移量,不是日期本身携带的原始偏移。要解决这个问题,用Dayjs的parseZone插件就能搞定——它会保留日期字符串里的原始时区信息,不会做时区转换。

代码示例

const dayjs = require('dayjs');
// 必须引入parseZone插件才能保留原始偏移
dayjs.extend(require('dayjs/plugin/parseZone'));

const dateStr = "2023-07-21T12:00:00+05:00";
const parsedDate = dayjs.parseZone(dateStr);

// 获取原始偏移的分钟数(+05:00对应300分钟)
const offsetMinutes = parsedDate.utcOffset();
console.log(offsetMinutes); // 输出 300

// 获取格式化的偏移字符串(如+05:00)
const offsetStr = parsedDate.format('Z');
console.log(offsetStr); // 输出 +05:00

补充说明

  • parseZone能适配各种标准ISO 8601日期格式,不用担忧日期格式变化的问题,比字符串分割的方法稳定得多。
  • 如果需要更复杂的时区操作,可以搭配utc和timezone插件,但仅提取原始偏移的话,parseZone完全够用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:32:35