3

我有 UTC 偏移量和 UTC 时间的数据。鉴于此,在 Python 中是否有可能获取用户的本地时区(主要是为了确定是否是 DST 等。可能使用 pytz),类似于 PHP 中的函数timezone_name_from_abbr

例如:

如果我的纪元时间是 1238720309,我可以得到 UTC 时间:

>>> d = datetime.utcfromtimestamp(1238720309)
>>> print d + dt.timedelta(0,-28800) #offset for pacific I think
2009-04-02 17:04:41.712143 

这是正确的,只是现在是 PDT,所以它应该是:

2009-04-02 18:04:41.712413

我需要获取在 pytz 中使用的时区来确定它是否是夏令时,我想?

4

3 回答 3

5

因为,一般来说,对于给定的时区偏移,有多个可能的时区,所以一般的答案是“不,不是没有更多信息”。更多信息通常是时间适用的位置——哪个国家、哪个州或哪个城市。

于 2009-04-03T02:14:04.293 回答
1

不。时区太复杂了,有太多是从 UTC 开始的 X 小时。

http://en.wikipedia.org/wiki/List_of_time_zones

例如,来自 UTC 的 -5 可能是加拿大、纽约、古巴、牙买加、厄瓜多尔等。

赤道地区可能不使用 DST,因为它们的一天大约一年 12 小时。南美的,如果他们使用某种形式的夏令时,可能与北美的时间表相反,因为他们的夏季/冬季(即短日/长日)的时间表也相反。

于 2009-04-03T03:40:29.577 回答
0

没有。 http://en.wikipedia.org/wiki/List_of_U.S._states_by_time_zone

于 2009-04-03T02:39:00.520 回答