2012-07-11 19 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