動態

詳情 返回 返回

使用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

user avatar
0 用戶, 點贊了這篇動態!

發表 評論

Some HTML is okay.