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

CDT对应的IANA时区选择及Moment.js夏令时转换问题咨询

问题解答

首先,America/Chicago确实是对应美国中部时区(涵盖CST和CDT)的正确IANA时区标识符,它会自动根据日期切换夏令时(DST)与标准时间。你遇到的问题大概率是因为使用的moment-timezone库版本过旧,其内置的时区数据库未包含最新的夏令时切换规则。

2023年美国中部时区的夏令时切换时间为3月12日(当地时间凌晨2点拨快至3点),3月13日已处于夏令时时段,正确转换后应为UTC-5(CDT),对应时间15:40。

解决步骤:

  • 升级moment和moment-timezone到最新版本,确保时区数据库为最新状态。
  • 验证转换代码,正确的调用方式可参考:
    // 方式1:先解析为UTC时间再转换时区
    moment.utc("2023-03-13T20:40:54.358Z").tz("America/Chicago").format()
    // 方式2:直接用moment.tz解析UTC时间并转换
    moment.tz("2023-03-13T20:40:54.358Z", "America/Chicago").format()
    
    升级库后,上述代码应输出2023-03-13T15:40:54-05:00,符合你的预期。

若暂时无法升级库,可临时手动指定偏移量(但不推荐作为长期方案,因夏令时规则可能变动):

moment("2023-03-13T20:40:54.358Z").utcOffset("-05:00").format()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:05:11