python - Python:如何从 django 时间戳中删除微秒?
问题描述
在 PostgreSQL 数据库timestamp
中,数据类型列的值为:
2018-06-08 12:35:09
但是当使用 django 检索数据时,数据返回为(日期时间结合微秒):
"2018-06-08T12:35:09.225"
如何在 django 中将此日期时间对象转换为“DD-MM-YYYY HH:MM:SS”格式?
注意- 我正在使用 CookieCutter
我用来从模型中检索数据的代码Bid
如下(views.py
):
request_data = json.loads(request.body)
bidId = request_data['id']
bidData = Bid.objects.get(bid_id=bidId)
data = serializers.serialize('json', [bidData, ])
serialized = json.loads(data)
bid_obj = json.loads(serialized[0]['fields']['bid_obj'])
serialized[0]['fields']['bid_obj'] = bid_obj
outputArray = {
"bid": serialized[0]['fields']
}
return JsonResponse(outputArray, safe=False)
解决方案
正如您所发现的,datetime
检索到的对象包含微秒。如果您不想显示微秒或datetime
对象的任何其他部分,则可以使用该方法strftime
并传递所需的格式。
在您的情况下,所需的格式是DD-MM-YYYY HH:MM:SS。您可以使用以下代码段在 python 中获取该格式:
dt.strftime('%d-%m-%Y %H:%M:%S')
假设变量dt
是一个datetime
对象。
在官方文档中你可以看到你可以传递哪些其他选项strftime
。
推荐阅读
- javascript - 为什么我的变量在带有array.forEach的嵌套函数中在Javascript中使用未定义
- echo - 当我在 env 文件中更改 APP_URL 时,Laravel 推送器广播不起作用
- c++ - 创建驱动程序时出错。设备驱动程序未安装在任何设备上,如果提供,请使用原始驱动程序
- i18next - 是否可以选择在 i18next 中嵌套翻译时使用后处理器?
- node.js - TypeError: JwtStrategy 需要一个函数来从请求中检索 jwt(请参阅选项 jwtFromRequest)
- typo3 - TYPO3 链接始终解析为默认语言
- nuxt.js - nuxtjs onesignal 配置
- java - 如何解决 android.content.res.Resources$NotFoundException: Resource ID #0x0 & 正确显示从数据库到卡片视图的数据?
- python - 如何使日期时间时区感知和转换时区
- python - 如何在 AI 平台 JupyterLab notebook 中卸载包?