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