Я столкнулся с этой проблемой сегодня, и у меня нет объяснения.
У меня есть объект даты и времени 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.
Кто-нибудь может сказать мне, почему он это делает?