Немного странно, что, когда я хочу получить часовой пояс для Европы/Парижа с помощью pytz, он доставляет меня в часовой пояс PMT вместо GMT + 1, когда он, похоже, работает в Европе и Берлине.
Не понятно? Посмотрите на этот фрагмент:
#!/usr/bin/python
import os
import datetime
from pytz.tzfile import build_tzinfo
base='/usr/share/zoneinfo/'
tz = build_tzinfo('Europe/Paris',
open(os.path.join(base,'Europe','Paris'), 'rb'))
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
print datetime.datetime(2009, 01, 30, 9, 00, tzinfo=tz).strftime(fmt)
tz = build_tzinfo('Europe/Berlin',
open(os.path.join(base,'Europe','Berlin'), 'rb'))
print datetime.datetime(2009, 01, 30, 9, 00, tzinfo=tz).strftime(fmt)
вывод:
2009-01-30 09:00:00 PMT+0009
2009-01-30 09:00:00 CET+0100
когда действительно паритет должен быть также CET + 1.
Построение из datetime.datetime.now(tz) получило бы правильное значение независимо от того, что.
У кого-нибудь есть идея?