Преобразование объекта даты и времени в метку времени и обратно дает мне другое время - PullRequest
0 голосов
/ 02 апреля 2012

Я столкнулся с этой проблемой сегодня, и у меня нет объяснения.

У меня есть объект даты и времени 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 Ответ

1 голос
/ 02 апреля 2012

Попробуйте использовать

time.localtime(epo) 

вместо

time.datetime.fromtimestring(epo)
...