我正在尝试将我的时间戳转换为unixtime,注意它不是UTC但是unixtime不正确。
import time
import datetime
from dateutil.parser import parse
time_str = '2017-03-09T15:44:40.000-05:00'
time_obj = parse(time_str)
print time_obj
unixtime = time.mktime(time_obj.timetuple())
print unixtime
它返回的unixtime是1489092280.0
,当我想要的是03/09/2017 @ 8:44pm (UTC)
时,它代表1489074280
。
答案 0 :(得分:3)
time.mktime
期望分解本地时间并将输入视为这样,即将其转换为UTC,然后构建秒自上一个时间戳。由于您已经有破碎的UTC时间,因此您需要拨打calendar.timegm
来代替:
>>> unixtime = calendar.timegm(time_obj.timetuple())
>>> print unixtime
1489074280
答案 1 :(得分:0)
我相信你的结果是正确的。 15:44在-05:00时区是UTC时间20:44(即8:44 pm)。