python日期格式统一化: 各种日期时间格式处理为标准统一日期时间格式
import traceback
import pandas as pd
aa = [
'2021年12月11日 19:19',
'2021年12月11日',
"2021-11-24 19:40",
"11/1/2018",
"06-02-20",
"2012.9",
"20129" # 异常数据
]
for a in aa:
b = a.replace("年", "-").replace("月", "-").replace("日", " ")
# c = '-'.join(b)
# print(b)
# print(c)
try:
pd.to_datetime(b)
print(f"{a} --> {pd.to_datetime(b).strftime('%Y-%m-%d %H:%M:%S')}")
except BaseException as e:
# 时间需要在pd的时间戳区间,否则会抛出异常
print(traceback.format_exc(limit=3))
# 2021年12月11日 19:19 --> 2021-12-11 19:19:00
# 2021年12月11日 --> 2021-12-11 00:00:00
# 2021-11-24 19:40 --> 2021-11-24 19:40:00
# 11/1/2018 --> 2018-11-01 00:00:00
# 06-02-20 --> 2020-06-02 00:00:00
In [66]: pd.Timestamp.min
Out[66]: Timestamp('1677-09-21 00:12:43.145225')
In [67]: pd.Timestamp.max
Out[67]: Timestamp('2262-04-11 23:47:16.854775807')