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