我读的不是很完整的pytz documentation,我坚持了解它的一部分。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
和原来一样。在我看来,这个例子并没有真正解释为什么我们不得不在datetime
之间转换时使用normalize
对象在不同的时区。
有人请给我一个的例子(如上所示),当不使用normalize
时结果不同。
感谢
请参见[转换为本地时区时是否仍然需要正常化?](https://answers.launchpad.net/pytz/+question/249229) – jfs 2015-08-23 08:23:03