Разный формат вывода даты datetime. Python

Разный формат вывода даты datetime. Python

Andy Pavlov

Вопрос:

При вызове date.today() получается дата в формате: 2022-04-14. При вызове date.today().month мы получаем номер месяца в формате: 4. Как получить число или месяц в формате 04, для сравнения с числами в бд через strftime('%m')

from datetime import date

today = date.today()

print(today)  # 2022-04-09
print(today.year, today.month, today.day)  # 2022 4 9, а нужно 04 и 09

Ответ:

Это связано с тем, что выводится в первом случае строка в формате ISO через метод:

def isoformat(self):
    ...
    return "%04d-%02d-%02d" % (self._year, self._month, self._day)

А для второго случая целые числа. В этом случае Вы можете сами отформатировать вывод:

month = f"{today.month:02d}"


Report Page