【发布时间】:2020-04-10 12:32:29
【问题描述】:
我正在尝试从包含不同时区的列表中提取时间戳。 我正在使用 dateutil.parser。我相信我想为此使用 parse 函数,包括时区信息,但它似乎不想接受它们。谁能告诉我哪里出错了?
from dateutil.parser import parse
timezone_info = {
"PDT": "UTC -7",
"PST": "UTC -8",
}
date_list = ['Oct 21, 2019 19:30 PDT',
'Nov 4, 2019 18:30 PST']
for dates in date_list:
print(parse(dates))
# This gives:
# 2019-10-21 19:30:00
# 2019-11-04 18:30:00
for date in date_list:
print(parse(dates, tzinfos = timezone_info))
这是输出:
2019-10-21 19:30:00
2019-11-04 18:30:00
C:\Users\mbsta\Anaconda3\envs\untitled2\lib\site-packages\dateutil\parser\_parser.py:1218: UnknownTimezoneWarning: tzname PDT identified but not understood. Pass `tzinfos` argument in order to correctly return a timezone-aware datetime. In a future version, this will raise an exception.
category=UnknownTimezoneWarning)
C:\Users\mbsta\Anaconda3\envs\untitled2\lib\site-packages\dateutil\parser\_parser.py:1218: UnknownTimezoneWarning: tzname PST identified but not understood. Pass `tzinfos` argument in order to correctly return a timezone-aware datetime. In a future version, this will raise an exception.
category=UnknownTimezoneWarning)
Traceback (most recent call last):
File "C:/Users/mbsta/PycharmProjects/untitled2/tester.py", line 16, in <module>
print(parse(dates, tzinfos = timezone_info))
File "C:\Users\mbsta\Anaconda3\envs\untitled2\lib\site-packages\dateutil\parser\_parser.py", line 1374, in parse
return DEFAULTPARSER.parse(timestr, **kwargs)
File "C:\Users\mbsta\Anaconda3\envs\untitled2\lib\site-packages\dateutil\parser\_parser.py", line 660, in parse
ret = self._build_tzaware(ret, res, tzinfos)
File "C:\Users\mbsta\Anaconda3\envs\untitled2\lib\site-packages\dateutil\parser\_parser.py", line 1185, in _build_tzaware
tzinfo = self._build_tzinfo(tzinfos, res.tzname, res.tzoffset)
File "C:\Users\mbsta\Anaconda3\envs\untitled2\lib\site-packages\dateutil\parser\_parser.py", line 1175, in _build_tzinfo
tzinfo = tz.tzstr(tzdata)
File "C:\Users\mbsta\Anaconda3\envs\untitled2\lib\site-packages\dateutil\tz\_factories.py", line 69, in __call__
cls.instance(s, posix_offset))
File "C:\Users\mbsta\Anaconda3\envs\untitled2\lib\site-packages\dateutil\tz\_factories.py", line 22, in instance
return type.__call__(cls, *args, **kwargs)
File "C:\Users\mbsta\Anaconda3\envs\untitled2\lib\site-packages\dateutil\tz\tz.py", line 1087, in __init__
raise ValueError("unknown string format")
ValueError: unknown string format
Process finished with exit code 1
【问题讨论】:
标签: python-3.x pycharm timezone python-dateutil