Преобразование даты и времени python в метку времени и обратно в UTC по-прежнему использует местный часовой пояс

I ' m работаю с кодом, который дает мне отметки времени utc, и я хочу преобразовать их в соответствующие даты. К сожалению, когда я тестирую простые случаи с pytz, datetime добавляет 6 часов (смещение CST относительно UTC). Мне нужно поддерживать правильность данных часового пояса, потому что я также вычисляю разницу между другими часовыми поясами. Есть идеи, почему и как преобразовать метку времени utc в дату и время utc?

In [1]: import pytz

In [2]: from datetime import datetime

In [3]: import time

In [4]: datetime.fromtimestamp(time.mktime(datetime(7,1,1, tzinfo=pytz.UTC).timetuple()), tz=pytz.UTC)
Out[4]: datetime.datetime(2007, 1, 1, 6, 0, tzinfo=<UTC>)

In [5]: datetime.fromtimestamp(time.mktime(datetime(7,1,1).utctimetuple()), tz=pytz.UTC)
Out[5]: datetime.datetime(2007, 1, 1, 6, 0, tzinfo=<UTC>)

In [6]: datetime.fromtimestamp(time.mktime(datetime(7,1,1).utctimetuple()))
Out[6]: datetime.datetime(2007, 1, 1, 0, 0)
34
задан aterrel 11 May 2011 в 13:37
поделиться