从人类时间输入中解析时区

时间:2016-04-24 15:20:42

标签: python python-3.x datetime

我无法从字符串中解析出时区信息,如下所示: 8pm PST on sunday 到目前为止,使用parsedatetimedateutils可以让我解析日期,但时区通常会导致问题。

有人知道处理这类事情的图书馆吗?我的后备是通过正则表达式或简单的"PST" in datestring天真地解析时区。

1 个答案:

答案 0 :(得分:1)

您使用的缩写are not unique;因此,您需要以某种方式解释时区(例如假设美国)并指定每个缩写对您的应用程序的意义:

from dateutil import parser

# map time zones to seconds from GMT
zones = {
    'EST': -5 * 3600,
    'PST': -8 * 3600
}

parser.parse('8 PM on Sunday PST', tzinfos=zones)
# datetime.datetime(2016, 4, 24, 20, 0, tzinfo=tzoffset('PST', -28800))

您可以使用dateutil安装pippip install python-dateutil

有关详细信息,请参阅this similar question