我正在尝试将现有日期从 March 02, 2019 6:30 - 11:00 pm 转换为 3/2/19 格式,但我不能我不知道我该怎么做。
这些是日期:
datelist = [
"March 02, 2019 6:30 - 11:00 pm",
"June 21, 2019",
"March 22, 2019 5:00 - 10:00 pm",
"May 01, 2019 - June 15, 2019 11:59 pm",
"May 02, 2019 5:30 - 8:00 pm",
"May 04, 2019 5:00 - 10:30 pm",
"September 08, 2018 6:00 - 10:00 pm",
]
for date in datelist:
print(date)
预期输出:
3/2/2019
6/21/2019
3/22/2019
5/1/2019 - 6/15/2019
5/2/2019
5/4/2019
9/8/2018
这是我能找到的最接近的:
import datetime
date_time_str = 'Jun 28 2018 7:40AM'
date_time_obj = datetime.datetime.strptime(date_time_str, '%b %d %Y %I:%M%p').strftime('%m/%d/%Y')
print(date_time_obj)
但是,当我在列表中有不同类型的日期时,这实际上并没有达到目的。
如何将日期转换为所需的格式?
请您参考如下方法:
我喜欢使用模块 dateutil,因为它会在内部尝试对传入的日期格式进行有根据的猜测:
from dateutil import parser as dateparser
date_time_str = 'Jun 28 2018 7:40AM'
date_time_obj = dateparser.parse(date_time_str)
print(date_time_obj.strftime('%m/%d/%Y'))
看起来很健壮。
