你可以使用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或者抛出异常,根据实际情况进行处理

python 把excel读到的各种日期格式包括202344、 2022年12月日、2023-4-4、45020转换成datetime格式的函数

原文地址: https://www.cveoy.top/t/topic/iaih 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录