Python : 如何从 Django 时间戳中删除微秒?

Python : How to remove microseconds from django timestamp?

在 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对象。

在官方documentation中可以看到还有哪些选项可以传递给strftime