0
import time
print(int(time.mktime(time.strptime('2017-08-12T17:07:46', '%Y-%m-%dT%H:%M:%S'))))
我得到1502582866,我期望1502557666?欢迎任何帮助Python日期到EPOCH转换
import time
print(int(time.mktime(time.strptime('2017-08-12T17:07:46', '%Y-%m-%dT%H:%M:%S'))))
我得到1502582866,我期望1502557666?欢迎任何帮助Python日期到EPOCH转换
是,@保罗是正确的:根据文档,mktime
将采取struct_time
在当地时间并从纪元,它没有时区,也没有夏令时转换为秒。
所以,你的初始时间:
`2017-08-12T17:07:46`
变为:
1502582866 ==> `GMT: Sunday, August 13, 2017 12:07:46 AM`
这是正确的。
如果你想知道如何正确地转换回来,你会用localtime
:
import time
epoch_time = 1502582866
time_string = time.strftime('%Y-%m-%dT%H:%M:%S', time.localtime(epoch_time))
print time_string
>> 2017-08-12T17:07:46
而且在行动中看到的样品在这里:https://eval.in/845075
我认为'mktime'被解释为是你当地的时间,我猜是太平洋。如果你想要1502557666,你需要输入'mktime'的时区为UTC。 – Paul