pytz.timezone显示了亚洲/加尔各答的奇怪结果



可能重复:
Python日期时间对象显示错误的时区偏移

import pytz, datetime
 pytz.timezone("Asia/Calcutta")

打印以下内容:

< DstTzInfo 'Asia/Calcutta' HMT+5:53:00 STD >

为什么不是05:30?我在美国/洛杉矶时区。

时区随年份变化。根据http://www.prokerala.com/travel/timezones/Asia/Kolkata?mode=history该区域的原始偏移量为5.88888888889小时,即5小时53分钟。一旦您将区域指定为实际日期,pytz将使用正确的偏移量和命名法。

>>> tz = pytz.timezone("Asia/Calcutta")
>>> tz
<DstTzInfo 'Asia/Calcutta' HMT+5:53:00 STD>
>>> tz.localize(datetime.datetime(1901, 7, 10, 12, 0))
datetime.datetime(1901, 7, 10, 12, 0, tzinfo=<DstTzInfo 'Asia/Calcutta' HMT+5:53:00 STD>)
>>> tz.localize(datetime.datetime(2012, 7, 10, 12, 0))
datetime.datetime(2012, 7, 10, 12, 0, tzinfo=<DstTzInfo 'Asia/Calcutta' IST+5:30:00 STD>)

最新更新