Я читаю не очень полную 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
.
Спасибо