Skip to main content
 首页 » 编程设计

python之无法将日期转换为所需格式

2025年05月04日20youxin

我正在尝试将现有日期从 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')) 

看起来很健壮。