import calendar cl = calendar.Calendar(firstweekday=0)
firstweekday=0
- int
, устанавливает первый день недели, 0 соответствует понедельнику.Класс Calendar()
модуля calendar
создает объект календаря. Аргумент firstweekday
- целое число, указывающее первый день недели. Число 0 - понедельник (по умолчанию), 6 - воскресенье.
Calendar
определяет методы:datetime.date
,(day, week-day)
,(year, month, day)
,(year, month, day, week-day)
,datetime.date
,(day, week-day)
,datetime.date
,(day, week-day)
,cl.iterweekdays()
:Метод cl.iterweekdays()
возвращает итератор номеров дней одной недели. Первое значение итератора будет таким же, как значение свойства firstweekday
, заданное при создании экземпляра класса calendar.Calendar()
.
>>> import calendar >>> cl = calendar.Calendar() >>> rez = cl.iterweekdays() >>> list(rez) # [0, 1, 2, 3, 4, 5, 6]
cl.itermonthdates(year, month)
:Метод cl.itermonthdates()
возвращает итератор всех дней месяца month
(1–12) в году year
.
Итератор будет возвращать все дни, как объекты datetime.date
за месяц и все дни до начала месяца или после конца месяца, которые требуются для получения полной недели.
>>> import calendar >>> cl = calendar.Calendar() >>> rez = cl.itermonthdates(2020, 7) >>> list(rez) # [datetime.date(2020, 6, 29), datetime.date(2020, 6, 30), # datetime.date(2020, 7, 1), datetime.date(2020, 7, 2) # ..., ..., # ..., ..., # datetime.date(2020, 7, 30), datetime.date(2020, 7, 31), # datetime.date(2020, 8, 1), datetime.date(2020, 8, 2)]
cl.itermonthdays(year, month)
:Метод cl.itermonthdays()
возвращает итератор всех дней для месяца month
в году year
. Возвращенные дни будут просто числами месяца.
Итератор включает все дни до начала месяца и/или после конца месяца, которые требуются для получения полной недели. Для дней вне указанного месяца month
номер дня равен 0.
>>> import calendar >>> cl = calendar.Calendar() >>> rez = cl.itermonthdays(2020, 7) >>> list(rez) # [0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, # 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, # 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 0]
cl.itermonthdays2(year, month)
:Метод cl.itermonthdays2()
возвращает итератор всех дней для месяца month
в году year
. Возвращенные дни будут двойными кортежами, состоящими из № дня месяца и № дня недели, т. е. (day, week-day)
.
Итератор включает все дни до начала месяца и/или после конца месяца, которые требуются для получения полной недели. Для дней вне указанного месяца month
номер дня будет равен 0.
>>> import calendar >>> cl = calendar.Calendar() >>> rez = cl.itermonthdays2(2020, 7) >>> list(rez) # [(0, 0), (0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), # (6, 0), (7, 1), (8, 2), (9, 3), (10, 4), (11, 5), (12, 6), # ..., ..., # (27, 0), (28, 1), (29, 2), (30, 3), (31, 4), (0, 5), (0, 6)]
cl.itermonthdays3(year, month)
:Метод cl.itermonthdays3()
возвращает итератор всех дней для месяца month
в году year
.
Возвращенные дни будут тройными кортежами, состоящими из номера года, месяца и дня месяца (year, moth, day)
.
Итератор включает все дни до начала месяца и/или после конца месяца, которые требуются для получения полной недели.
>>> import calendar >>> cl = calendar.Calendar() >>> rez = cl.itermonthdays3(2020, 7) >>> list(rez) # [(2020, 6, 29), (2020, 6, 30), (2020, 7, 1), # (2020, 7, 2), (2020, 7, 3), (2020, 7, 4), # ..., ..., # (2020, 7, 28), (2020, 7, 29), (2020, 7, 30), # (2020, 7, 31), (2020, 8, 1), (2020, 8, 2)]
cl.itermonthdays4(year, month)
:Метод cl.itermonthdays4()
возвращает итератор всех дней для месяца month
в году year
. Возвращенные дни будут кортежами, состоящими из четырех элементов - года, месяца, дня месяца и дня недели (year, month, day, week-day)
.
Итератор включает все дни до начала месяца и/или после конца месяца, которые требуются для получения полной недели.
>>> import calendar >>> cl = calendar.Calendar() >>> rez = cl.itermonthdays4(2020, 7) >>> list(rez) # [(2020, 6, 29, 0), (2020, 6, 30, 1), (2020, 7, 1, 2), # (2020, 7, 2, 3), (2020, 7, 3, 4), (2020, 7, 4, 5), # ..., ..., # (2020, 7, 28, 1), (2020, 7, 29, 2), (2020, 7, 30, 3), # (2020, 7, 31, 4), (2020, 8, 1, 5), (2020, 8, 2, 6)]
cl.monthdatescalendar(year, month)
:Метод cl.monthdatescalendar()
возвращает список недель месяца month
как полные недели. Недели, в свою очередь - это списки из семи объектов datetime.date()
.
Первый и последний списки дней недели включает все дни до начала месяца и/или после конца месяца, которые требуются для получения полной недели.
>>> import calendar >>> cl = calendar.Calendar() >>> cl.monthdatescalendar(2020, 7) # [ # [datetime.date(2020, 6, 29), # datetime.date(2020, 6, 30), # datetime.date(2020, 7, 1), # datetime.date(2020, 7, 2), # datetime.date(2020, 7, 3), # datetime.date(2020, 7, 4), # datetime.date(2020, 7, 5)], # ..., ..., # [datetime.date(2020, 7, 27), # datetime.date(2020, 7, 28), # datetime.date(2020, 7, 29), # datetime.date(2020, 7, 30), # datetime.date(2020, 7, 31), # datetime.date(2020, 8, 1), # datetime.date(2020, 8, 2)] # ]
cl.monthdays2calendar(year, month)
:Метод cl.monthdays2calendar()
возвращает список недель месяца month
как полные недели. Недели, в свою очередь - это списки из семи двойных кортежей, состоящих из № дня месяца и № дня недели, т. е. (day, week-day)
.
Первый и последний списки дней недели включает все дни до начала месяца и/или после конца месяца, которые требуются для получения полной недели. Для дней вне указанного месяца month
номер дня будет равен 0.
>>> import calendar >>> cl = calendar.Calendar() >>> cl.monthdays2calendar(2020, 7) # [ # [(0, 0), (0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6)], # [(6, 0), (7, 1), (8, 2), (9, 3), (10, 4), (11, 5), (12, 6)], # [(13, 0), (14, 1), (15, 2), (16, 3), (17, 4), (18, 5), (19, 6)], # [(20, 0), (21, 1), (22, 2), (23, 3), (24, 4), (25, 5), (26, 6)], # [(27, 0), (28, 1), (29, 2), (30, 3), (31, 4), (0, 5), (0, 6)] # ]
cl.monthdayscalendar(year, month)
:Метод cl.monthdayscalendar()
возвращает список недель месяца month
как полные недели. Недели, в свою очередь - это списки из семи номеров дней месяца.
Первый и последний списки дней недели включает все дни до начала месяца и/или после конца месяца, которые требуются для получения полной недели. Для дней вне указанного месяца month
номер дня будет равен 0.
>>> import calendar >>> cl = calendar.Calendar() >>> cl.monthdayscalendar(2020, 7) # [ # [0, 0, 1, 2, 3, 4, 5], # [6, 7, 8, 9, 10, 11, 12], # [13, 14, 15, 16, 17, 18, 19], # [20, 21, 22, 23, 24, 25, 26], # [27, 28, 29, 30, 31, 0, 0] # ]
cl.yeardatescalendar(year, width=3)
:Метод cl.yeardatescalendar()
возвращает дни за указанный год year
, готовые к форматированию. Возвращаемое значение представляет собой список с количеством width
месяцев, по умолчанию квартал (3 месяца).
Каждый месяц содержит список от 4 до 6 недель, а каждая неделя это список - от 1 до 7 дней. Дни - это объекты datetime.date
.
>>> import calendar >>> cl = calendar.Calendar() >>> cl.yeardatescalendar(2020, width=3) # [список кварталов, # [список месяцев в квартале # [ список недель в месяце # [ список дней в неделе в виде # datetime.date(2019, 12, 30), # datetime.date(2019, 12, 31), # datetime.date(2020, 1, 1), # datetime.date(2020, 1, 2), # datetime.date(2020, 1, 3), # datetime.date(2020, 1, 4), # datetime.date(2020, 1, 5)], # .... # данные за год # ] # ] # ]
cl.yeardays2calendar(year, width=3)
:Метод cl.yeardays2calendar()
возвращает дни за указанный год year
, готовые к форматированию аналогично cl.yeardatescalendar()
.
Записи в списках недели представляют собой кортежи номеров дня и номера дня недели. Номера дней за пределами этого месяца равны нулю.
>>> import calendar >>> cl = calendar.Calendar() >>> cl.yeardays2calendar(2020, width=3) # [список кварталов, # [список месяцев в квартале # [ список недель в месяце # [ список дней в неделе в виде # (0, 0), (0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6) # ], # .... # данные за год # ] # ] # ]
cl.yeardayscalendar(year, width=3)
:Метод cl.yeardayscalendar()
возвращает данные за указанный год year
, готовые к форматированию (аналогично `cl.yeardatescalendar()). Записи в списках недель - это номера дней. Числа дней за пределами этого месяца равны нулю.
>>> import calendar >>> cl = calendar.Calendar() >>> cl.yeardayscalendar(2020, width=3) # [список кварталов, # [список месяцев в квартале # [ список недель в месяце # [ список дней в неделе в виде # 0, 0, 1, 2, 3, 4, 5 # ], # .... # данные за год # ] # ] # ]