python - 将UTC时间戳转换为unixtime

时间:2017-06-08 15:23:18

标签: python python-2.7 datetime

我正在尝试将我的时间戳转换为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

2 个答案:

答案 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)。