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

时间:2018-06-08 07:13:46

标签: python django postgresql cookiecutter-django

在PostgreSQL数据库中timestamp数据类型列的值为:

2018-06-08 12:35:09

但是当使用django检索数据时,数据将返回为(datetime以微秒为单位):

"2018-06-08T12:35:09.225"

如何将此日期时间对象转换为" DD-MM-YYYY HH:MM:SS" django中的格式?

注意 - 我正在使用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)

1 个答案:

答案 0 :(得分:1)

如您所知,检索到的datetime对象包含微秒。如果您不想显示微秒或datetime对象的任何其他部分,则可以使用方法strftime并传递所需的格式。

在您的情况下,所需格式为 DD-MM-YYYY HH:MM:SS 。您可以使用以下代码段在python中获取该格式:

dt.strftime('%d-%m-%Y %H:%M:%S')

假设变量dtdatetime对象。

在官方documentation中,您可以看到可以传递给strftime的其他选项。