import pytz, datetime
pytz.timezone("Asia/Calcutta")
打印以下内容:
< DstTzInfo 'Asia/Calcutta' HMT+5:53:00 STD >
为什么不是05:30小时?我在时区America / Los_Angeles。
时区多年来变化。根据http://www.prokerala.com/travel/timezones/Asia/Kolkata?mode=history,该区域的原始偏移为5.88888888889小时,或5小时53分钟。pytz将区域分配给实际日期后,它将使用适当的偏移量和术语。
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>)