как в datetime получить месяц не числом?

мне нужно из модуля datetime получить месяц не числом, а строчкой русскими символами

например, заместо 3.10.2021 нужно получить 3 ноября 2021 года


Ответы (2 шт):

Автор решения: Alexandr

Можно написать функцию по преобразованию:

date = '3.10.2021'

def transform_date(date):

    months = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня',
           'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря']
    day,month,year = date.split('.')
    return f'{day} {months[int(month) - 1]} {year} года'

print(transform_date(date))
→ Ссылка
Автор решения: strawdog

Можно сделать преобразованием объекта datetime, если вам не важны окончания по склонениям:

from datetime import datetime
import locale
locale.setlocale(locale.LC_TIME, 'ru')
mydate='3.10.2021'

month = datetime.strptime(mydate, "%d.%m.%Y").strftime("%B")
print(month)

Октябрь

→ Ссылка