当尝试将浮点格式的时间戳(例如1437506779950.0
)转换为日期时间对象时,我得到的是ValueError"年份超出范围"。
我使用的这段代码,工作时间不是3个月前。现在重新审视它,奇怪的是现在抛出这个错误,但代码库中没有任何内容发生变化,只有传递给它的数据,以及唯一已经改变的数据显然是时间戳。
>>> f = 1437506779950.0
>>> datetime.datetime.fromtimestamp(float(f))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: year is out of range
我无法理解为了让这次突破会发生什么变化?
答案 0 :(得分:58)
如this question的答案所述,这看起来像是一个单位转换问题。您必须将时间戳除以1000,以便从毫秒转换为秒。
如果要保留毫秒精度,则除以1000.0。