Я читаю не совсем полную документацию pytz, и я застрял в понимании одной ее части.
Преобразование между часовыми поясами также требует особого внимания. Это также необходимо использовать метод нормализации для обеспечения правильности преобразования.
>>> utc_dt = utc.localize(datetime.utcfromtimestamp(1143408899))
>>> utc_dt.strftime(fmt)
'2006-03-26 21:34:59 UTC+0000'
>>> au_tz = timezone('Australia/Sydney')
>>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz))
>>> au_dt.strftime(fmt)
'2006-03-27 08:34:59 EST+1100'
>>> utc_dt2 = utc.normalize(au_dt.astimezone(utc))
>>> utc_dt2.strftime(fmt)
'2006-03-26 21:34:59 UTC+0000'
Я пробовал этот пример без использования normalize
, и все получилось так же. На мой взгляд, этот пример на самом деле не объясняет, почему мы должны использовать normalize
при преобразовании объектов datetime
в разные часовые пояса.
Кто-нибудь, пожалуйста, дайте мне пример (например, выше), где результат отличается тем, что не используется normalize
.
Спасибо