首页 > 解决方案 > 将基于字符串的日期列表更改为一种特定格式

问题描述

我有一个代表日期的字符串列表。

input_list = ['18 March 2000', '10-09-2020', '10 JAN 2021', '10/05/2021', '15 FEBRUARY 1990']

我希望将所有格式更改为DD MMM YYYY(2021 年 1 月 10 日)

expected_list = ['18 MAR 2000', '10 SEP 2020', '10 JAN 2021', '10 MAY 2021', '15 FEB 1990']

由于没有任何日期字符串是 1 格式,因此 datetime.strftime 未能首先将它们转换为特定格式。

如果有的话,任何人都可以提出解决这个问题的方法。

标签: python-3.xdatetime

解决方案


非 Pandas 方法是使用dateutil.parser.parse

from dateutil.parser import parse
input_list = ['18 March 2000', '10-09-2020', '10 JAN 2021', '10/05/2021', '15 FEBRUARY 1990']
output = [parse(t).strftime("%d %b %Y").upper() for t in input_list]
print(output)

>>> ['18 MAR 2000', '09 OCT 2020', '10 JAN 2021', '05 OCT 2021', '15 FEB 1990']

推荐阅读