我正在运行此代码以从字符串获取时间戳,但是它为某些特定值提供了错误的值。
import datetime
import time
print(datetime.datetime.fromtimestamp(time.mktime(time.strptime("20170312025709", "%Y%m%d%H%M%S"))))
应该返回“ 2017-03-12 02:57:09” ##,但给出的是“ 2017-03-12 03:57:09”
可能是原因。我正在使用python3。
答案 0 :(得分:0)
您的代码在我的计算机上运行正常(GMT + 8)
结果:
>>> import datetime
>>> import time
>>> print(datetime.datetime.fromtimestamp(time.mktime(time.strptime("20170312025709", "%Y%m%d%H%M%S"))))
2017-03-12 02:57:09
您可能要检查当地时间。或与夏令时有关。
答案 1 :(得分:0)
这是一个技巧问题。 daylight savings 2017。
import datetime
import time
for hour in range(25):
time_str = "20170312" + str(hour).zfill(2) + "5709"
print(
datetime.datetime.fromtimestamp(
time.mktime(time.strptime(time_str, "%Y%m%d%H%M%S"))))
运行此命令,最后您将看到错误(默认系统时区中只有23小时)。