Python Glossary English

все Python 3calendarпонятие

calendar.HTMLCalendar

классы календаря

Календарь в виде HTML-таблицы: formatmonth() и formatyear() возвращают разметку с CSS-классами для дней недели.

Синтаксис

hc = calendar.HTMLCalendar(firstweekday=0)

Стилей в разметке нет — только классы (mon…sun, noday для пустых клеток), оформление пишется своим CSS или через атрибуты cssclasses. formatmonth() возвращает str, а formatyearpage() — целую страницу уже в bytes, и записывать её надо в двоичном режиме. Точная разметка меняется между версиями (в 3.15 из <table> убрали атрибуты border и cellpadding), поэтому тесты на равенство строк ломаются.

Примеры

import calendar
html = calendar.HTMLCalendar().formatmonth(2024, 2)
print(html.count('class="noday"'))  # → 6 — пустые клетки до 1-го и после 29-го
print('<td class="thu">1</td>' in html)  # → True
import calendar
page = calendar.HTMLCalendar().formatyearpage(2024)
print(type(page).__name__)  # → bytes
with open('year.html', 'wb') as f:
    f.write(page)

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности