在Python中翻译日期

问题描述 投票:0回答:2

我有一个包含日期和行表示的列表。任务是将日期表示为日期时间对象,或格式为 DD.MM.YYYY 的日期。但日期是这样写的:

  • 十二月2008年3月
  • 二月2009 年 13 日
  • 2009 年 6 月 26 日
  • 2010 年 3 月 20 日
  • 2013 年 4 月 6 日
  • 九月2015 年 13 日

而且我不知道如何将它们转换为 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月份的约会。

python date datetime
2个回答
1
投票

最简单的方法是使用库中的日期解析器,而不是自己编写代码。假设您的日期是名为

dateslist
的列表中的字符串,那么您可以使用以下内容给出日期时间对象的列表:

from dateutil import parser

dates = []

for entry in datelist:
    dates.append(parser.parse(entry))
    
print(dates)

0
投票

假设您不应该使用任何第三方库并且日期字符串将使用不同的月份名称(例如 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方法

© www.soinside.com 2019 - 2024. All rights reserved.