18

重複の可能性:
Pythondatetimeオブジェクトに間違ったタイムゾーンオフセットが表示される

import pytz, datetime

 pytz.timezone("Asia/Calcutta")

以下を出力します。

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

なぜ05:30ではないのですか?私はタイムゾーンAmerica/Los_Angelesにいます。

4

1 に答える 1

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>)
于 2012-07-11T22:38:15.537 に答える