首页 > 解决方案 > 时间戳对于日期时间来说太大了

问题描述

为什么我不能转换以下时间戳?

from datetime import date

timestamp = date.fromtimestamp(1571266800000000000)
print("Date =", timestamp)

https://www.epochconverter.com/给出了正确的结果。

标签: pythondatetime

解决方案


除了纳秒之外,这里还有一个警告:如果我跑

from datetime import date
timestamp = date.fromtimestamp(1571266800000000000/1e9)
print("Date =", timestamp)
>>> Date = 2019-10-17

请注意,这给了我当地时区(UTC+2) 的日期。但是,如果您希望日期引用 UTC(因为自纪元以来的秒数应该引用 UTC),则需要设置tzinfo属性:

from datetime import datetime, timezone
timestamp = datetime.fromtimestamp(1571266800000000000/1e9, tz=timezone.utc)
print("Date =", timestamp.date())
>>> Date = 2019-10-16

推荐阅读