pydantic学习与使用-17.使用 json_encoders 格式化 datetime 类型
  iKXeBmqdRgYF 2023年11月19日 51 0

前言

使用datetime 日期类型时,想格式化成自定义的"%Y-%m-%d %H:%M:%S" 格式

datetime 类型

from pydantic import BaseModel
from datetime import datetime


class UserInfo(BaseModel):
    id: int
    name: str
    create_time: datetime=datetime.now()

user = UserInfo(**{"id": 1, "name": "yoyo"})
print(user.json())

转json格式,输出结果

{"id": 1, "name": "yoyo", "create_time": "2023-10-10T16:47:27.023813"}

'create_time'日期时间格式,我期望得到的格式是2023-10-10 16:47:27

json_encoders 格式化 datetime 类型

json_encoders 可以格式指定的类型

from pydantic import BaseModel
from datetime import datetime



class UserInfo(BaseModel):
    id: int
    name: str
    create_time: datetime=datetime.now()

    class Config:
        json_encoders = {
            datetime: lambda v: v.strftime("%Y-%m-%d %H:%M:%S")
        }


user = UserInfo(**{"id": 1, "name": "yoyo"})
print(user.json())

运行结果:

{"id": 1, "name": "yoyo", "create_time": "2023-10-10 16:48:47"}



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
iKXeBmqdRgYF