Pytz Python Timezone Conversion не работает
Я пытаюсь преобразовать часовой пояс Pytz «Европа / Лондон» в UTC без успеха:
>>>tz=pytz.timezone("Europe/London") >>>date=datetime.datetime(2015,1,1,4,4) >>>tz.normalize(tz.localize(date)).astimezone(pytz.utc) datetime.datetime(2015, 1, 1, 4, 4, tzinfo=<UTC>) >>>tz.localize(date) datetime.datetime(2015, 1, 1, 4, 4, tzinfo=<DstTzInfo 'Europe/London'GMT0:00:00 STD>)
Это просто неправильно, почему линия прямо выше в GMT-0, когда она должна быть GMT + 1. Лондонское время в настоящее время на час раньше UTC из-за экономии дневного света, но код не производит этого.
>>>tz.normalize(tz.localize(date)).astimezone(pytz.utc) #should produce: datetime.datetime(2015, 1, 1, 3, 4, tzinfo=<UTC>)
- dateutil и pytz дают разные результаты
- данные времени не соответствуют формату
- PySpark 1.5 Как сократить временную метку до ближайшей минуты с секунд
- Получение даты и времени в этом формате и преобразование в 4-байтовый шестнадцатеричный
- Объект datetime Python показывает неправильное смещение часового пояса
Вы не должны ожидать летнего времени в январе в Северном полушарии в Лондоне.
Версия pytz-2015.4
дает тот же (правильный) результат:
>>> from datetime import datetime >>> import pytz >>> d = datetime(2015, 1, 1, 4, 4) >>> tz = pytz.timezone('Europe/London') >>> tz.localize(d, is_dst=None).astimezone(pytz.utc) datetime.datetime(2015, 1, 1, 4, 4, tzinfo=<UTC>) >>> tz.localize(d, is_dst=None) datetime.datetime(2015, 1, 1, 4, 4, tzinfo=<DstTzInfo 'Europe/London' GMT0:00:00 STD>)
zdump
на моей системе согласен с этим:
$ zdump -v Europe/London | grep 2015 Europe/London Sun Mar 29 00:59:59 2015 UT = Sun Mar 29 00:59:59 2015 GMT isdst=0 gmtoff=0 Europe/London Sun Mar 29 01:00:00 2015 UT = Sun Mar 29 02:00:00 2015 BST isdst=1 gmtoff=3600 Europe/London Sun Oct 25 00:59:59 2015 UT = Sun Oct 25 01:59:59 2015 BST isdst=1 gmtoff=3600 Europe/London Sun Oct 25 01:00:00 2015 UT = Sun Oct 25 01:00:00 2015 GMT isdst=0 gmtoff=0
т. е. до 29 марта 2015 года в Лондоне значение utc не равно нулю.
Сама база данных tz соглашается: Европа / Лондон использует правила ЕС для перехода на летнее время с 1996 года: летнее время не начинается до последнего воскресенья марта .
- Искажение масштаба Pycairo
- Python Pillow: сделать прогрессивное изображение перед отправкой на сторонний сервер
- Как исправить проблему с 'datetime.datetime', которая не имеет атрибута timedelta?
- Типовой код Matplotlib – превышает ошибку Locator.MAXTICKS без видимых причин
- показать годы между началом и концом
- Поиск среднего значения столбца dataframe только до конца дня (индексированный по дате)
- Есть ли способ сделать python pickle игнорировать ошибки «это не тот же объект»
- В Python, как отображать текущее время в читаемом формате
- СинтаксисError: недопустимый токен в datetime.datetime (2012,05,22,09,03,41)?
- используя Python, Как сгруппировать столбец в Dataframe к часу?
- Почему% z не поддерживается strptime python?