gpt4 book ai didi

python - 如何将 '2016-08-01 13:39:00+05:30'之类的字符串解析为python的datetime对象

转载 作者:太空宇宙 更新时间:2023-11-04 05:25:57 24 4
gpt4 key购买 nike

我在尝试执行此操作时出现以下错误

from datetime import datetime 

time1 = '2016-08-01 13:39:00+05:30'
x = datetime.strptime(time1, '%Y-%m-%d %H:%M:%S %z')
print(x)

错误是...

ValueError: time data '2016-08-01 13:39:00+05:30' does not match format '%Y-%m-%d %H:%M:%S %z'

最佳答案

如果您使用的是 Python 2 或早期版本的 Python 3(3.0 和 3.1),您可以使用 dateutil用于将字符串转换为时区感知对象的库。

执行此操作的代码很简单:

>>> import dateutil.parser
>>> dt = dateutil.parser.parse('2016-08-01 13:39:00+05:30')
>>> dt
datetime.datetime(2016, 8, 1, 13, 39, tzinfo=tzoffset(None, 19800))

如果您使用的是 Python 3.2 或更高版本,则在解析日期时添加了 %z 选项作为格式化选项。通过执行以下操作,您可以在这些版本中不使用 dateutil 来完成此任务:

>>> import datetime
>>> dt = datetime.datetime.strptime('2016-08-01 13:39:00+0530', "%Y-%m-%d %H:%M:%S%z")
>>> dt
datetime.datetime(2016, 8, 1, 13, 39, tzinfo=datetime.timezone(datetime.timedelta(0, 19800)))

不幸的是,您必须从偏移量中去除冒号 (:) 才能按预期工作。

关于python - 如何将 '2016-08-01 13:39:00+05:30'之类的字符串解析为python的datetime对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38694486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com