使用pydantic 处理各种各样乱七八糟的时间格式字符串,尤其是 iso8601
这个教程是叫你怎么优雅的处理各种乱七八糟的日期字符串
按照 iso8601,下面的格式都是合法的
- 2023-08-15T12:34:56Z
- 2023-08-15 12:34:56+00:00
- 2023-08-15 12:34:56
如果你要自己写 re 去处理这种 T、+ 、Z 这些区别,就会很麻烦很麻烦
怎么优雅的处理?用 pydantic 就行,pydantic 已经把这种乱七八糟的问题都考虑进去了
只有导入 from pydantic.v1.datetime_parse import parse_datetime 就行了
from pydantic.v1.datetime_parse import parse_datetime
# 给我一堆 parse_datetime 的示例
dt_strs = [
'2023-08-15T12:34:56Z',
'2023-08-15 12:34:56+00:00',
'2023-08-15 12:34:56',
]
for dt_str in dt_strs:
dt = parse_datetime(dt_str)
print(dt)
如果你的 pydantic 是 1.x 版本,就用 from pydantic.datetime_parse import parse_datetime
如果你的 pydantic 是 2.x 版本,就用 from pydantic.v1.datetime_parse import parse_datetime