pydantic学习与使用-17.使用 json_encoders 格式化 datetime 类型

news/2024/12/22 14:02:27/

前言

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

datetime 类型

from pydantic import BaseModel
from datetime import datetime
# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/class UserInfo(BaseModel):id: intname: strcreate_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# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/class UserInfo(BaseModel):id: intname: strcreate_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"}

http://www.ppmy.cn/news/1162845.html

相关文章

欧科云链研究院:人类或将成为仅次于AI第二聪明物种?Web3不允许

出品|欧科云链研究院 在 AI行业“掘金买铲”的英伟达,60%的红杉投资在AI相关领域,之前只专注Web3的顶级VC,Paradigm 正在从转向人工智能等 "前沿 "技术。 资本的追逐让AI迷人且危险。 OKG RESEARCH IN FT AI教父Geoffre…

双飞翼布局和圣杯布局

双飞翼布局和圣杯布局都是一种三栏布局,其中主要内容区域位于中间,左侧栏和右侧栏位于两侧。它们的实现方式类似,但有一些细微的差别。 双飞翼布局的实现原理是通过使用flex布局,给主要内容区域设置flex:1&#xff1b…

Android中PowerManager 类中找不到 goToSleep()

PowerManager 类中找不到 goToSleep() 方法,可能是因为该方法是 Android SDK 的隐藏方法。这种情况下,您需要使用反射来调用该方法。 以下是一个调用 goToSleep() 方法的示例代码: try { PowerManager powerManager (PowerManager) ge…

为什么非const静态成员变量一定要在类外定义

当我们如下声明了一个类: class A{public:static int sti_data;// 这个语句在c11前不能通过编译,在c11的新标准下,已经能够在声明一个普通变量是就对其进行初始化。int a 10;static const int b 1;//...其他member };// 在类外…

RK3288 Android11 mini-pcie接口 4G模组EC200A适配(含自适应功能)

这里写目录标题 1、修改驱动内核配置①使能USBNET功能②使能 USB 串口 GSM、CDMA 驱动③使能 USB 的 CDC ACM模式④使能PPP功能 2、使用lsusb命令查看是否识别到usb接口的“EC200A”4G模组3、在drivers/usb/serial/option.c添加VID和PID信息①添加VID和PID定义②在option_ids 数…

Flink学习之旅:(一)Flink部署安装

1.本地搭建 1.1.下载Flink 进入Flink官网,点击Downloads 往下滑动就可以看到 Flink 的所有版本了,看自己需要什么版本点击下载即可。 1.2.上传解压 上传至服务器,进行解压 tar -zxvf flink-1.17.1-bin-scala_2.12.tgz -C ../module/ 1.3.启…

SpringCloud: sentinel链路限流

一、配置文件要增加 spring.cloud.sentinel.webContextUnify: false二、在要限流的业务方法上使用SentinelResource注解 package cn.edu.tju.service;import com.alibaba.csp.sentinel.annotation.SentinelResource; import com.alibaba.csp.sentinel.slots.block.BlockExcept…

Linux软件包名称含AMD,ARM,x64的详解

下载clickhouse-backup时看到不同软件包,有的是x86,有的是amd64,有的是arm64,这些有啥区别呢? clickhouse-backup-2.4.2-1.x86_64.rpm clickhouse-backup_2.4.2_amd64.deb clickhouse-backup_2.4.2_arm64.deb x86 和 …