Django: данные о времени '2022-09-02 11:13 am' не соответствуют формату '%Y-%m-%d %H%M%S.%f'

Я пытаюсь отформатировать DateTime в файле views.py. Но я получаю эту ошибку при преобразовании данных в DateTime.

Вот мой код.

FinalScheduleTime = datetime.datetime.strptime(scheduletime, "%Y-%m-%d %H%M%S.%f").date()
FinalScheduleTime = datetime.datetime.strptime(scheduletime, "%Y-%m-%d %H%M%S.%f").strftime('%Y-%m-%d')

Я пробовал оба способа преобразования данных, но у меня ничего не получается. Я новичок в python Django. Заранее благодарен за помощь.

вы используете неправильный формат для am/pm

>>> from django.utils.dateformat.datetime import datetime
>>> datetime.now().strftime("%Y-%m-%d %H:%M %p")
'2022-09-02 08:04 AM'
>>> datetime.now().strftime("%Y-%m-%d %H:%M %p").lower()
'2022-09-02 08:04 am'

больше здесь: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior

При преобразовании из строки datetime, содержащей AM/PM, не следует использовать %H, вместо этого используйте %I

import datetime

datetime_str_am = '2022-03-03 3:40 AM'
datetime_str_pm = '2022-03-03 3:40 PM'

am = datetime.datetime.strptime(datetime_str_am, '%Y-%m-%d %I:%M %p')
pm = datetime.datetime.strptime(datetime_str_pm, '%Y-%m-%d %I:%M %p')
Вернуться на верх