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

旧JavaScript日期时区异常疑问:0001-01-01时区偏移解析

关于远古日期解析的时区偏移问题

问题场景

执行代码:new Date("0001-01-01")
得到结果:Date Mon Jan 01 0001 00:17:30 GMT+0017 (Central European Standard Time)

你的疑问:执行上述代码得到的日期时区令我意外,搜索"Central European Standard Time"未获更多信息。我理解为公元1年时,我的地理位置对应时区为GMT+0017(实际偏移17分30秒),请问该解读是否正确?何处可获取相关信息?此行为是否有明确定义?

解答

  • 你的解读完全正确,公元1年时欧洲中部地区的本地时间和格林威治标准时间确实存在17分30秒的偏移,这是历史时区规则的真实记录。
  • 这个行为是有明确定义的:JavaScript的Date对象会调用底层系统的时区数据库(比如IANA时区数据库),这类数据库包含了从远古到现代的所有时区偏移变更数据,解析极早日期时自然会返回对应历史时期的偏移值。
  • 相关信息可以从IANA时区数据库的官方文档、系统自带的时区数据说明(比如Linux系统的tzdata包配套文档)里获取,这些资料详细记录了各地区不同历史阶段的时区规则变化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:14:53