2012-07-11 16 views

回答

18

多年来时区变化。根据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>) 
+3

我相信疯狂的补偿更接近现实:加尔各答经度:88.369度。现在得到时间偏移量:(88.369/180)x12 = 5.89,大约等于5小时53分钟。当然,现实肯定让每个人都难过,因此现在四舍五入。 – tigeronk2 2013-02-28 06:44:46

+0

这不是法律实际制定的时间偏移。这只是该区域所覆盖地区的[本地平均时间(LMT)](https://en.wikipedia.org/wiki/Local_mean_time)的反映。你可以在tz源数据[这里](https://github.com/eggert/tz/blob/2017b/asia#L891)中看到这一点。 – 2017-06-07 00:15:32