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

为何Win10下Python3.7+执行datetime.fromtimestamp(0).timestamp()抛异常?

Windows下Python datetime.fromtimestamp(0).timestamp()报错原因解析

这不是Bug,是Windows系统与Python时间处理逻辑的差异导致的,具体原因如下:

  • 时间戳0对应的是UTC时间1970-01-01 00:00:00,datetime.fromtimestamp(0)会将该UTC时间转换为本地时区的datetime对象。比如系统时区是UTC-5(美国东部时间),转换后得到1969-12-31 19:00:00;如果是UTC+8(北京时间),得到1970-01-01 08:00:00。
  • 调用timestamp()方法时,需要将本地datetime对象转回UTC时间戳。但Windows底层系统API不支持处理1970年1月1日之前的本地时间转换,若所在时区的本地时间早于1970-01-01(比如西时区),就会触发OSError: [Errno 22] Invalid argument异常。

如果要实现「时间戳0转datetime再转回时间戳得到0.0」的预期效果,应该用UTC时间处理:

import datetime
datetime.datetime.utcfromtimestamp(0).timestamp()  # 返回0.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 17:10:16