将datetime对象转换为timestamp并返回给我一个不同的时间

时间:2012-04-02 18:20:24

标签: python datetime timestamp

我今天遇到过这个问题,我没有解释。

我有一个Python日期时间对象:

dt = datetime.datetime(2012, 3, 31, 18, 30, 48, tzinfo=<FixedOffset '-04:00'>)

据我所知,18:30时区与UTC相差4小时。 然后我尝试将其转换为时间戳,如下所示:

epo = time.mktime(dt.timetuple()) and get back 1333247448.0.

但是,当我尝试将其转换回来以确保使用日期

时是正确的
time.datetime.fromtimestring(epo), 

我回来了

datetime.datetime(2012, 3, 31, 19, 30, 48)

请注意,时间是19而不是18。

有谁可以告诉我它为什么这样做?

1 个答案:

答案 0 :(得分:1)

尝试使用

time.localtime(epo) 

而不是

time.datetime.fromtimestring(epo)