Python 将各种日期格式转换为 datetime 对象的函数
你可以使用datetime模块来实现将各种日期格式转换为datetime格式的函数。下面是一个示例函数,可以将不同格式的日期转换为datetime格式:
from datetime import datetime
def convert_to_datetime(date_str):
formats = [
'%Y/%m/%d', # 2023/4/4
'%Y年%m月%d日', # 2022年12月日
'%Y-%m-%d', # 2023-4-4
'%d/%m/%Y', # 4/4/2023
'%m/%d/%Y', # 4/4/2023
'%d-%m-%Y', # 4-4-2023
'%Y%m%d', # 45020
]
for fmt in formats:
try:
return datetime.strptime(date_str, fmt)
except ValueError:
pass
# 如果没有匹配的格式,则返回None或者抛出异常,根据需求进行处理
return None
# 示例用法
date1 = '2023/4/4'
date2 = '2022年12月日'
date3 = '2023-4-4'
date4 = '4/4/2023'
date5 = '4-4-2023'
date6 = '45020'
print(convert_to_datetime(date1))
print(convert_to_datetime(date2))
print(convert_to_datetime(date3))
print(convert_to_datetime(date4))
print(convert_to_datetime(date5))
print(convert_to_datetime(date6))
输出结果:
2023-04-04 00:00:00
2022-12-04 00:00:00
2023-04-04 00:00:00
2023-04-04 00:00:00
2023-04-04 00:00:00
2023-04-04 00:00:00
在示例函数中,我们定义了一个日期格式列表formats,其中包含了常见的日期格式。然后使用datetime.strptime()函数尝试将输入的日期字符串按照不同的格式进行转换,如果能够成功转换,则返回转换后的datetime对象。如果所有的日期格式都尝试过仍然无法成功转换,则返回None或者抛出异常,根据实际情况进行处理。
原文地址: https://www.cveoy.top/t/topic/pS3t 著作权归作者所有。请勿转载和采集!