Python 3.7:将具有不同时区的字符串转换为日期

问题描述 投票:3回答:1

我试图在Python中将字符串转换为日期格式。

我正在使用以下声明

datetime_obj = datetime.datetime.strptime("Sun Aug 19 16:24:31 PDT 2018", "%a %b %d %H:%M:%S %Z %Y")

但是,我收到一个错误 -

ValueError:时间数据'Sun Aug 19 16:24:31 PDT 2018'与格式'%a%b%d%H:%M:%S%Z%Y'不匹配

如果我从日期字符串和格式字符串中删除时区,代码就可以完美运行。这让我相信这个问题与时区有关,但我不确定应该采取什么行动。我在东部时区,字符串中的时区位于太平洋时区。

感谢任何帮助。

python datetime date-conversion python-3.7
1个回答
1
投票

正如this answer中提到的,你可以使用python-dateutil

>>> from dateutil import parser

>>> datetime_obj = parser.parse("Sun Aug 19 16:24:31 PDT 2018")
datetime.datetime(2018, 8, 19, 16, 24, 31)

标准的datetime module在解析时区时表现得非常奇怪,因为我看到有关问题的this answer有问题。

© www.soinside.com 2019 - 2024. All rights reserved.