动态

详情 返回 返回

使用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 vanve 头像 oeasy 头像 wnhyang 头像 jianghushinian 头像 aitigou 头像 soujer 头像 nogeek 头像 kalii 头像 wuyujingcha 头像 fengliudeshanghen 头像 dosswy 头像 biocrosscoder 头像
点赞 16 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.