python-将UTC时间戳转换为unixtime

python-将UTC时间戳转换为unixtime,python,python-2.7,datetime,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 unixt

我试图将时间戳转换为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,表示2017年9月3日晚上8:44 UTC,而我想要的是1489074280。

time.mktime需要一个细分的本地时间,并将输入视为本地时间,即将其转换为UTC,然后从历元时间戳开始构建秒。由于您已经有了细分的UTC时间,因此需要调用calendar.timegm:


我相信你的结果是正确的。15:44英寸-05:00时区是20:44,即UTC的晚上8:44

光是做时间是不行的?
>>> unixtime = calendar.timegm(time_obj.timetuple())
>>> print unixtime
1489074280