当尝试将浮点格式的时间戳(例如 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
我不明白要做出什么改变才能打破这种局面?
最佳答案
如 this question 的答案中所述,这看起来像一个单位转换问题。您必须将时间戳除以 1000 才能将毫秒转换为秒。
如果您想保留毫秒精度,请改为除以 1000.0。
关于python datetime fromtimestamp 产生值错误年份超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31548132/