【问题标题】:Why is datetime.datetime.fromtimestamp raising OSError: [Errno 22] Invalid argument为什么 datetime.datetime.fromtimestamp 引发 OSError: [Errno 22] Invalid argument
【发布时间】:2019-06-29 17:06:00
【问题描述】:

我正在尝试将 Epoch 时间戳 1549392388289(来自 Web API)转换为 datetime 对象。当我尝试时

from datetime import datetime

dt = datetime.fromtimestamp(1549392388289)

引发OSError 异常

OSError: [Errno 22] 无效参数

但是使用online converter,相同的 Epoch 时间戳也可以正常工作。

是什么导致了这个异常?我能做些什么来解决它?

【问题讨论】:

  • 你能显示错误回溯吗?
  • 我个人得到一个超出范围年份 (51068) 的 ValueError,而不是 OSError
  • Posix 时间戳应该以秒为单位,但看起来你有毫秒。

标签: python datetime


【解决方案1】:

您已将时间戳乘以 1000。这按预期工作:

from datetime import datetime

print(datetime.fromtimestamp(1549392388.289))

【讨论】:

  • 实际上,今天这场比赛,一分钟前。
  • 啊,我获取时间戳的 API 从秒变为毫秒。很烦人。
猜你喜欢
  • 1970-01-01
  • 2020-04-07
  • 2020-03-30
  • 1970-01-01
  • 2020-07-29
  • 2018-06-15
  • 1970-01-01
  • 2021-08-26
  • 2018-12-02
相关资源
最近更新 更多