все Python 3calendarпонятие
calendar.LocaleTextCalendar
классы календаря
Текстовый календарь с названиями месяцев и дней на языке заданной локали, например locale='ru_RU.UTF-8'.
Синтаксис
lc = calendar.LocaleTextCalendar(firstweekday=0, locale=None)
Локаль, которой нет в системе, даёт locale.Error только в момент вывода, а не при создании объекта: на сервере или в Docker без пакета локалей код падает, хотя у автора работал. На время вывода класс переключает локаль всего процесса, поэтому из нескольких потоков он небезопасен. Русские названия месяцев могут прийти в родительном падеже («февраля»).
Примеры
import calendar, locale
lc = calendar.LocaleTextCalendar(locale='ru_RU.UTF-8')
try:
print(lc.formatmonth(2024, 2).splitlines()[1]) # → ? Пн Вт Ср Чт Пт Сб Вс
except locale.Error as e:
print('нет локали:', e) # → ? нет локали: unsupported locale setting
import calendar
lc = calendar.LocaleTextCalendar() # locale=None — текущая локаль процесса
print(lc.formatweekheader(2)) # → ? зависит от локали
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности