Python Glossary English

все 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Сообщить о неточности