在Flask框架中,将DateTime时间类型格式化。
我们在模型中使用时间类型,例如 create_time = db.Column(db.DateTime, default=datetime.now)
,这种类型如果不进行格式化,显示出来的时间结果为: "create_time": "Sun, 06 Aug 2023 16:50:14 GMT"
,这种结果不是我们想要的结果。
格式化代码:
- 重写格式化代码
class CustomJSONEncoder(JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(obj, date):
return obj.strftime('%Y-%m-%d')
else:
return JSONEncoder.default(self, obj)
- 注册自定义类到app
app.json_encoder=CustomJSONEncoder
通过以上两步操作,即可实现时间格式化。例如:"create_time": "2023-08-06 16:50:14"
。