首页 > 解决方案 > 使用 strptime() 函数的问题,无法解析特殊类型的一天

问题描述

我在许多情况下都成功地使用了 strptime() 函数,但是我无法使其适用于具有 th、nd 或其他日期后缀的日期,例如“2019 年 9 月 20 日”以及下面代码中显示的情况。有没有办法告诉 strptime() 函数忽略这两个字符?

当我运行下面的代码时,我得到(毫不奇怪)以下错误:

ValueError:时间数据“2019 年 9 月 20 日”与格式“%B %d,%Y”不匹配

from datetime import datetime;
currentYear = str(datetime.now().year)
dates_array = ['September 20th, 2019','September 21st, 2019','May 3rd, 2019']
dates_array = [datetime.strptime(d, '%B %d, %Y').strftime('%m/%d/%Y') for d in dates_array]
print (dates_array) 

标签: python

解决方案


推荐阅读