如何在strptime中处理拼写出来的天数

问题描述

我有一个格式如下的日期数组:

['October 22nd,2019','February 8th,2020','July 31st,'September 21st,...]

我想使用 strptime 将其转换为日期时间对象,但我不知道如何处理拼写出来的日子,例如22nd8th 并且它没有在 the format documentation 中说明。

当一天中没有写出部分时,以下内容有效:

from datetime import datetime
dt_obj = datetime.striptime('October 22,'&B &d,&Y')

但我不知道如何解析写出日期的字符串:

in: dt_obj = datetime.striptime('October 22nd,&Y')
out: ValueError: time data 'October 22nd,2019' does not match format '%B %d,%Y'

这个的正确格式是什么?谢谢!

解决方法

例如22nd8th 并且它没有在 the format documentation

中说

你说得对,文档中没有提到它,因为没有这样的格式,解析它们的一种方法是使用 regex,并将这些日期字符串转换为 Python 的 {{1} } 的格式为。

datetime