本文介绍了pytz.timezone显示亚洲/加尔各答的奇怪的结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





import pytz, datetime

 pytz.timezone("Asia/Calcutta")

打印如下内容:

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

为什么不是05:30?我在时区America / Los_Angeles。

Why it is not 05:30 hrs? I am in timezone America/Los_Angeles.

推荐答案

根据该区域的原始偏移量为5.88888888889小时,或5小时53分钟。一旦您将区域分配到实际日期, pytz 将使用正确的偏移和命名。

Time zones change over the years. According to http://www.prokerala.com/travel/timezones/Asia/Kolkata?mode=history the original offset for that zone was 5.88888888889 hours, or 5 hours 53 minutes. pytz will use the proper offset and nomenclature once you assign the zone to an actual date.

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

这篇关于pytz.timezone显示亚洲/加尔各答的奇怪的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 16:03