gpt4 book ai didi

python - 如何从包含 '2nd' 的字符串中获取日期时间作为 Python 中的日期?

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:15 24 4
gpt4 key购买 nike

我有几个字符串,我想从中获取日期时间。它们的格式如下:

Thu 2nd May 2013 19:00

我几乎知道如何将其转换为日期时间,除了我在使用“2nd”时遇到了麻烦。我现在有以下内容

>>> datetime.strptime('Thu 02 May 2013 19:00', '%a %d %B %Y %H:%M')
datetime.datetime(2013, 5, 2, 19, 0)

当月的第几天用零填充数字时效果很好,但是当我尝试 2nd 时,它给出了一个 ValueError:

>>> datetime.strptime('Thu 2nd May 2013 19:00', '%a %d %B %Y %H:%M')
Traceback (most recent call last):
File "<input>", line 1, in <module>
(data_string, format))
ValueError: time data 'Thu 2nd May 2013 19:00' does not match format '%a %d %B %Y %H:%M'

the list of datetime directives我找不到与日期的有序值(第 1、第 2、第 3 等)相关的任何内容。有人知道我怎样才能让它工作吗?欢迎所有提示!

最佳答案

考虑使用 dateutil.parser.parse .

这是一个第三方库,具有强大的解析器,可以处理这些类型的事情。

from dateutil.parser import parse

s = 'Thu 2nd May 2013 19:00'

d = parse(s)
print(d, type(d))
# 2013-05-02 19:00:00 <class 'datetime.datetime'>

一个简短的警告(在你的情况下并没有真正发生):如果 dateutil 在字符串中找不到你的日期的一个方面(比如你遗漏了月份)那么它将默认到 default 参数。这默认为当前日期,时间为 00:00:00。如果需要,您显然可以使用不同的 datetime 对象覆盖它。

安装 dateutil 的最简单方法可能是使用 pip使用命令 pip install python-dateutil

关于python - 如何从包含 '2nd' 的字符串中获取日期时间作为 Python 中的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28091947/

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