统一日期字符串格式(若要新增日期字符串格式,可直接在formats中添加)
from datetime import datetime
def detect_date_format(date_string, formats):
"""
尝试统一日期字符串格式,返回格式为YYYY-MM-DD的日期格式或无法解析。
:param date_string:日期字符串
:param formats: 日期字符串可能的格式列表
:return: 格式为YYYY-MM-DD的日期格式或无法解析
"""
for format_str in formats:
try:
# 清除日期字符串末尾的逗号和空格
date_string = date_string.rstrip(', ')
# 尝试将日期字符串转换为datetime对象
date_object = datetime.strptime(date_string, format_str)
return date_object.strftime("%Y-%m-%d")
except ValueError:
pass
return f"无法解析{date_string}"
# 示例日期字符串
date_strings = [
"2020-11-21",
"2020/11/22",
"2020.11.23",
"November 25, 2020",
"26 Nov 2020",
"2020年11月27日",
"20年11月28日",
'2020-3-12&