我有一个包含日期和行表示的列表。任务是将日期表示为日期时间对象,或格式为 DD.MM.YYYY 的日期。但日期是这样写的:
而且我不知道如何将它们转换为 DD.MM.YYYY 格式。
我尝试使用此代码:
try:
date = datetime.datetime.strptime(string_date, '%b. %d, %Y').strftime('%d.%m.%y')
except ValueError:
date = datetime.datetime.strptime(string_date, '%B %d, %Y').strftime('%d.%m.%y')
但是不适合9月份的约会。
最简单的方法是使用库中的日期解析器,而不是自己编写代码。假设您的日期是名为
dateslist
的列表中的字符串,那么您可以使用以下内容给出日期时间对象的列表:
from dateutil import parser
dates = []
for entry in datelist:
dates.append(parser.parse(entry))
print(dates)
假设您不应该使用任何第三方库并且日期字符串将使用不同的月份名称(例如 Sept、Sep、September):
date = date.split()
date[0] = date[0][:3]
" ".join(date)
date = datetime.datetime.strptime(string_date, '%b %d, %Y').strftime('%d.%m.%y')
如果问题仅出现在 9 月 - 使用@OrenIshShalom 方法
如果您可以使用第三方库并且所有输入日期字符串都将是不同的格式 - 使用@user19077881方法