Модуль calendar
Модуль calendar позволяет напечатать себе календарик (а также содержит некоторые другие полезные функции для работы с календарями).
calendar.Calendar(firstweekday=0) - класс календаря. firstweekday - первый день недели (0 - понедельник, 6 - воскресенье).
Методы:
iterweekdays() - итератор дней недели, начиная с firstweekday.
itermonthdates(year, month) - итератор для месяца month года year. Возвращает все дни этого месяца (как объекты datetime.date), а также дни до и после этого месяца до полной недели.
itermonthdays2(year, month) - как itermonthdates, только дни возвращаются не как datetime.date объекты, а кортежи (номер дня, номер дня недели).
itermonthdays(year, month) - как itermonthdates, только дни возвращаются не как datetime.date объекты, а номера дней.
monthdatescalendar(year, month) - список недель в месяце. Неделя - список из 7 объектов datetime.date.
monthdays2calendar(year, month) - как monthdatescalendar, но объекты - кортежи (номер дня, номер дня недели).
monthdayscalendar(year, month) - как monthdatescalendar, но объекты - номера дней.
calendar.TextCalendar(firstweekday=0) - класс для генерации текстового календаря.
Методы:
formatmonth(theyear, themonth, w=0, l=0) - возвращает календарь на месяц в виде строки, с шириной колонки w и высотой l.
prmonth(theyear, themonth, w=0, l=0) - печатает календарь на месяц.
formatyear(theyear, w=2, l=1, c=6, m=3) - возвращает календарь на год; из m колонок, шириной даты w, высотой недели l и количеством пробелов между месяцами c.
pryear(theyear, w=2, l=1, c=6, m=3) - печатает календарь на год.
calendar.HTMLCalendar(firstweekday=0) - класс для генерации HTML календаря.
Методы:
formatmonth(theyear, themonth, withyear=True) - календарь на месяц в виде HTML таблицы. Если withyear True, номер года будет включен в заголовок.
formatyear(theyear, width=3) - календарь на год в виде HTML таблицы. width - количество месяцев в ряду.
formatyearpage(theyear, width=3, css="calendar.css", encoding=None) - календарь на год в виде полноценной HTML страницы, с подключением файла css (который вы можете создать сами), и в кодировке encoding.
calendar.LocaleTextCalendar(firstweekday=0, locale=None) - позволяет создать текстовый календарь с названиями на родном языке.
calendar.LocaleHTMLCalendar(firstweekday=0, locale=None) - позволяет создать HTML календарь с названиями на родном языке.
Например, вот такой календарик получился у меня:
import calendar a = calendar.LocaleHTMLCalendar(locale='Russian_Russia') with open('calendar.html', 'w') as g: print(a.formatyear(2014, width=4), file=g)
2014 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Также модуль calendar предоставляет несколько полезных функций:
calendar.setfirstweekday(weekday) - устанавливает первый день недели (0 - понедельник, 6 - воскресенье). Также предоставлены значения calendar.MONDAY, calendar.TUESDAY, calendar.WEDNESDAY, calendar.THURSDAY, calendar.FRIDAY, calendar.SATURDAY и calendar.SUNDAY.
calendar.firstweekday() - возвращает первый день недели.
calendar.isleap(year) - является ли год високосным.
calendar.leapdays(y1, y2) - количество високосных лет в последовательности от y1 до y2.
calendar.weekday(year, month, day) - день недели для этой даты.
calendar.monthrange(year, month) - день недели первого дня месяца и количество дней в этом месяце.