优化日期处理
This commit is contained in:
@@ -29,17 +29,10 @@ def handle_date(string):
|
|||||||
string = string[:8]
|
string = string[:8]
|
||||||
elif length > 10 and "-" in string:
|
elif length > 10 and "-" in string:
|
||||||
string = string[:10]
|
string = string[:10]
|
||||||
if is_valid_date_format(string):
|
|
||||||
return string
|
if len(string) < 6:
|
||||||
else:
|
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
|
||||||
# 判断是否是合法的日期格式
|
|
||||||
def is_valid_date_format(date_str):
|
|
||||||
if len(date_str) < 6:
|
|
||||||
return False
|
|
||||||
|
|
||||||
# 定义可能的日期格式
|
# 定义可能的日期格式
|
||||||
formats = [
|
formats = [
|
||||||
# yyyy-MM-dd
|
# yyyy-MM-dd
|
||||||
@@ -55,12 +48,15 @@ def is_valid_date_format(date_str):
|
|||||||
# 遍历所有格式,尝试解析日期
|
# 遍历所有格式,尝试解析日期
|
||||||
for fmt in formats:
|
for fmt in formats:
|
||||||
try:
|
try:
|
||||||
datetime.strptime(date_str, fmt)
|
date = datetime.strptime(string, fmt)
|
||||||
return True
|
# 限定日期的年份范围
|
||||||
|
if 2000 < date.year < 2100:
|
||||||
|
return date.strftime("%Y-%m-%d")
|
||||||
|
continue
|
||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
continue
|
||||||
|
|
||||||
return False
|
return ""
|
||||||
|
|
||||||
|
|
||||||
def handle_department(string):
|
def handle_department(string):
|
||||||
|
|||||||
Reference in New Issue
Block a user