Python: Как удалить микросекунды из метки времени Django? - PullRequest
0 голосов
/ 08 июня 2018

В базе данных PostgreSQL timestamp столбец типа данных имеет значение как:

2018-06-08 12:35:09

Но при получении данных с использованием django данные возвращаются как (datetime объединяет микросекунды):

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

Как я могу преобразовать этот объект даты и времени в формат «ДД-ММ-ГГГГ ЧЧ: ММ: СС» в формате 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 голосов
/ 08 июня 2018

Как вы узнали, извлеченный объект datetime содержит микросекунды.Если вы не хотите отображать микросекунды или любую другую часть объекта datetime, вы можете использовать метод strftime и передать желаемый формат.

В вашем случае желаемый формат: ДД-ММ-ГГГГ ЧЧ: ММ: СС .Вы можете получить этот формат в python с помощью следующего фрагмента:

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

Предполагается, что переменная dt является datetime объектом.

В официальной документации вы можете увидеть, какие другие опции вы можете передать strftime.

...