Python Glossary English

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

calendar.Calendar

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

Базовый класс календаря: ничего не печатает, а отдаёт дни месяца итераторами и списками недель — сырьё для собственного вывода.

Синтаксис

cal = calendar.Calendar(firstweekday=0)

Первый день недели задаётся у экземпляра и не зависит от setfirstweekday(): та меняет только функции модуля. Проверки нет — Calendar(7) молча становится понедельником, тогда как setfirstweekday(7) бросает IllegalWeekdayError. itermonthdates() отдаёт и дни соседних месяцев, чтобы недели были полными, а itermonthdays() и monthdayscalendar() ставят на их место 0.

Примеры

import calendar
cal = calendar.Calendar(firstweekday=calendar.SUNDAY)
print(list(cal.iterweekdays()))  # → [6, 0, 1, 2, 3, 4, 5]
print(cal.monthdayscalendar(2024, 2)[0])  # → [0, 0, 0, 0, 1, 2, 3]
import calendar
days = list(calendar.Calendar().itermonthdates(2024, 2))
print(days[0], days[-1])  # → 2024-01-29 2024-03-03 — соседние месяцы тоже
print(len(days))  # → 35
import calendar
print(calendar.Calendar(7).firstweekday)  # → 0 — без ошибки, по модулю 7

См. также

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