【发布时间】:2023-03-18 12:25:01
【问题描述】:
我有几个字符串,我想从中获取日期时间。它们的格式如下:
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 等)相关的任何内容。有人知道我怎样才能让它工作吗?欢迎所有提示!
【问题讨论】:
-
试试:
datetime.strptime('Thu 2nd May 2013 19:00', '%a %dnd %B %Y %H:%M') -
@GrijeshChauhan OP 提到了多个字符串,如果日期是
3rd怎么办? -
@Ffisegydd 是的,你是对的,我的意思是你发布的就是答案。