2012-07-11 31 views

risposta

18

I fusi orari cambiano nel corso degli anni. Secondo http://www.prokerala.com/travel/timezones/Asia/Kolkata?mode=history l'offset originale per quella zona era 5.88888888889 ore, o 5 ore 53 minuti. pytz utilizzerà l'offset e la nomenclatura corretti dopo aver assegnato la zona a una data effettiva.

>>> 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

credo offset più folli erano molto più vicino alla realtà: Kolkata longitudine: 88.369 gradi. Ora per ottenere l'offset dell'ora: (88.369/180) x12 = 5.89 che si traduce approssimativamente in 5 ore e 53 minuti. Certo, la realtà deve aver reso la vita difficile per tutti, quindi compensazioni arrotondate ora. – tigeronk2

+0

Questo non è un offset di tempo che è stato effettivamente promulgato dalla legge. È semplicemente un riflesso di [Local Mean Time (LMT)] (https://en.wikipedia.org/wiki/Local_mean_time) per la regione coperta dalla zona. Puoi vedere questo nei dati di origine tz [qui] (https://github.com/eggert/tz/blob/2017b/asia#L891). –

Problemi correlati