strptime
используется для анализа строки в объекте datetime.Строка формата указывает, как анализировать строку, , а не формат, который вы хотите использовать для даты и времени, когда в дальнейшем будет печататься как строка.Итак, во-первых, вам нужно, чтобы строка формата соответствовала формату даты входной строки.
Как только вы получили дату / время от strptime
, вы можете затем использовать strftime
с вашей текущей строкой формата дляпоместите его на нужный экран.
Тем не менее, похоже, у вас проблемы с импортом.Кажется, ошибка указывает на то, что вы сделали:
import datetime
datetime.strptime(...)
Это неверно.strptime
и strftime
являются методами выключения datetime.datetime
, поэтому вам нужно либо изменить свой импорт, например:
from datetime import datetime
, либо изменить свой вызов на strptime
, например:
datetime.datetime.strptime(...)
ОБНОВЛЕНИЕ
Вы начинаете со строки, как Mon Feb 27 2012 13:15:00 GMT+0330 (Iraq Standard Time)
.Python довольно крутой, но он не всезнающий;если вы хотите преобразовать это в datetime
, вы должны указать как .Это цель строки формата, которую вы передаете strptime
.Вам нужно создать строку формата, которая представляет вашу текущую строку, дату и время, представленную в базе данных (упражнение оставлено для чтения).Подумайте обратным образом, в соответствии с тем, что вы хотели на самом деле представить как datetime
, как бы вы это сделали.
Это даст вам datetime
.Оттуда вы можете теперь отформатировать datetime
как строку с strftime
, передавая фактический формат, который вы хотите, на этот раз.
Таким образом, процесс выглядит так:
- Создатьстрока формата, представляющая вашу текущую строку из базы данных
- Используйте эту строку формата в качестве аргумента для
strptime
, чтобы получить datetime
- Создать строку формата, представляющуюформат, в котором вы хотите, чтобы дата была (уже сделана)
- Используйте эту строку формата в качестве аргумента для
strftime
, чтобы преобразовать datetime
из шага 2 в желаемую строку.