Есть ли кто-нибудь, кто может помочь мне понять, что здесь происходит?
import pytz
from datetime import datetime
tz = pytz.timezone('Europe/Berlin')
print repr(tz)
# <DstTzInfo 'Europe/Berlin' LMT+0:53:00 STD>
dt = datetime(2011, 1, 3, 18, 40)
result = tz.localize(dt)
print repr(result.tzinfo)
# <DstTzInfo 'Europe/Berlin' CET+1:00:00 STD>
assert result.tzinfo == tz, "Why aren't these the same timezone?"
Насколько я понимаю, метод localize()
для объекта часового пояса pytz будет принимать наивный объект datetime и добавлять свойство tzinfo
, которое соответствует объекту часового пояса, выполняющему локализацию. Похоже, что в данном случае этого не происходит.
Ясно, что я что-то неправильно понимаю о часовых поясах или о том, как pytz обрабатывает часовые пояса. Кто-нибудь может объяснить?