python 把excel读到的各种日期格式包括202344、 2022年12月日、2023-4-4、45020转换成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/iaih 著作权归作者所有。请勿转载和采集!