Введение в модуль календаря Python

Введение В Python есть встроенный модуль Calendar, который содержит полезные классы и функции для поддержки множества операций с календарем. По умолчанию модуль «Календарь» следует григорианскому календарю, где понедельник - это первый день (0) недели, а воскресенье - последний день недели (6). В Python - datetime [https://docs.python.org/2/library/datetime.html#module-datetime] и время [https://docs.python.org/2/library/time.html#module- time] также предоставляют низкоуровневый календарь

Вступление

Python имеет встроенный модуль Calendar который содержит полезные классы и функции для поддержки различных операций с календарем. По умолчанию Calendar » следует григорианскому календарю, где понедельник

  • это первый день (0) недели, а воскресенье - последний день недели (6).

В Python модули datetime и time также предоставляют низкоуровневые функции, связанные с календарем. В дополнение к этим модулям, Calendar предоставляет важные функции, связанные с отображением и управлением календарями.

Для печати календарей и управления ими в Calendar есть 3 важных класса: Calendar , TextCalendar и HTMLCalendar . В этой статье мы увидим, как эти классы могут помочь реализовать множество функций, связанных с календарем.

Функциональные возможности Календарного модуля

Чтобы использовать Calendar , нам нужно сначала импортировать модуль, используя:

 import calendar 

Давайте посмотрим на список полезных функций в этом модуле.

Печать календаря на определенный месяц

Мы можем распечатать календарь на определенный месяц, используя следующую функцию:

 calendar.month(yyyy, m, w, l) 

Аргументы, передаваемые этой функции, - это год ( yyyy ), месяц ( m ), ширина столбца даты ( w ) и количество строк в неделю ( l ), соответственно. Например, давайте воспользуемся этой функцией для печати календаря на март 2019 года:

 print ("Calendar of March 2019 is:") 
 print (calendar.month(2019, 3, 2, 1)) 

Выход:

 Calendar of March 2019 is: 
 March 2019 
 Mo Tu We Th Fr Sa Su 
 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 

Печать календаря на определенный год

Мы можем распечатать календарь на целый год, используя следующую функцию:

 calendar.calendar(yyyy, w, l, c, m) 

Вышеупомянутая функция возвращает календарь на весь год для года, указанного в качестве аргумента. В эту функцию передаются следующие аргументы: год ( yyyy ), ширина столбца даты ( w ), количество строк в неделю ( l ), количество пробелов между столбцом месяца ( c ), количество столбцов ( m ).

Например, чтобы распечатать календарь на 2019 год, используйте:

 print(calendar.calendar(2019, 2, 2, 6, 3)) 

Выход:

 January February March 
 
 Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 
 
 1 2 3 4 5 6 1 2 3 1 2 3 
 
 7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10 
 
 14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17 
 
 21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24 
 
 28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 
 
 
 
 April May June 
 
 Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 
 
 1 2 3 4 5 6 7 1 2 3 4 5 1 2 
 
 8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9 
 
 15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16 
 
 22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23 
 
 29 30 27 28 29 30 31 24 25 26 27 28 29 30 
 
 
 
 July August September 
 
 Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 
 
 1 2 3 4 5 6 7 1 2 3 4 1 
 
 8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8 
 
 15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15 
 
 22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22 
 
 29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29 
 
 30 
 
 
 
 October November December 
 
 Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 
 
 1 2 3 4 5 6 1 2 3 1 
 
 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8 
 
 14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15 
 
 21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22 
 
 28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29 
 
 30 31 

Примечание . Вместо использования «print» мы можем поочередно использовать функции calendar.prmonth() и calendar.pryear() для печати календарей на месяц и год. Эти функции распечатывают вывод на вашем терминале.

Проверка на високосный год

Мы можем использовать isleap() чтобы проверить, является ли год високосным или нет. Год передается в качестве аргумента функции, и функция возвращает True если год является високосным, в противном случае возвращает False если год не является високосным. Давайте воспользуемся этой функцией, чтобы увидеть, является ли 2016 год високосным:

 calendar.isleap(2016) 

Выход:

 True 

Количество високосных лет в пределах диапазона

Также можно проверить количество високосных лет в заданном диапазоне лет, указанном в качестве аргумента функции ниже:

 calendar.leapdays(year1, year2) 

Аргументы, переданные в функцию, - это 2 действительных значения года. Эта функция возвращает количество високосных лет между этими годами.

Пример:

 calendar.leapdays(2000, 2017) 

Выход:

 5 

Как видно, между 2000 и 2017 годами 5 високосных лет, следовательно, результат равен 5.

Верните день недели

Метод weekday принимает 3 аргумента, а именно: год, месяц и день. Функция возвращает день недели, при этом понедельник имеет индекс 0, а воскресенье - 6. Например:

 calendar.weekday(2019, 3, 21) 

Выход:

 3 

Как видно, эта функция возвращает значение индекса «3», то есть «четверг».

Получение сокращенных названий дней недели

Функция weekheader принимает аргумент n , который указывает количество символов для определенного имени дня недели и возвращает заголовок, содержащий сокращенные имена дней недели.

Например:

 print (calendar.weekheader(2)) 

Выход:

 Mo Tu We Th Fr Sa Su 

По аналогии,

 print (calendar.weekheader(3)) 

Выход:

 Mon Tue Wed Thu Fri Sat Sun 

Получение количества дней в месяце

Функция monthrange принимает 2 аргумента: год и месяц. Эта функция возвращает кортеж, содержащий индекс дня недели, в котором начинается месяц, и количество дней в месяце.

Например:

 print (calendar.monthrange(1983, 12)) 

Выход:

 {3,31} 

Поскольку первый день декабря 1983 г. был четвергом, функция возвращает значение индекса четверга в качестве первого элемента кортежа и 31, поскольку это количество дней в декабре.

Получите недели в месяц

Функция monthcalendar принимает 2 аргумента: год и месяц и возвращает матрицу, в которой каждая строка представляет неделю в этом месяце.

Например:

 print(calendar.monthcalendar(1983, 11)) 

Выход:

 [[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,19,30,0,0,0]] 

Как видите, массив каждой недели начинается с понедельника, а дни вне месяца представлены нулями. Итак, первый массив указывает, что первый день месяца - вторник.

Изменение настроек по умолчанию

Настройки календаря по умолчанию можно изменить в соответствии с вашими потребностями. Например, следующий сценарий устанавливает понедельник как первый день недели.

 class calendar.calendar(firstweekday=0) 

По умолчанию календари следуют европейскому соглашению, в котором понедельник является первым днем недели, а воскресенье - последним днем недели. Кроме того, месяц январь имеет значение индекса 1, а декабрь - значение индекса 12.

Полезные методы класса Calendar

Ниже приведены некоторые из наиболее полезных методов класса календаря.

Метод iterweekdays ()

Этот метод возвращает итератор, содержащий список индексов дней недели.

Например:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.iterweekdays(): 
 print (i, end=" ") 

Выход:

 0 1 2 3 4 5 6 

Метод itermonthdates ()

itermonthdates() принимает 2 аргумента: год и месяц. Эта функция возвращает итератор всех дней данного месяца. Кроме того, отображаются все дни до начала месяца и после его окончания, необходимые для получения полной недели.

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.itermonthdates (2019, 1): 
 print (i, end=" ") 

Выход:

 2018-12-31 2019-01-01 2019-01-02 2019-01-03 ..............2019-02-03 

Метод itermonthdays ()

Этот метод похож на itermonthdates , но возвращает только номера дней.

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.itermonthdays (2019, 1): 
 print (i, end=" ") 

Выход:

 0 1 2 3 4 5 6........ 31 0 0 0 

Как видите, все дни до начала месяца и после конца месяца для получения полной недели установлены на «0».

Метод itermonthdays2 ()

Этот метод отображает кортеж, состоящий из номеров дня и недели.

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.itermonthdays2 (2019, 1): 
 print (i, end=" ") 

Выход:

 (0,0) (1,1) (2,2) (3,3) (4,4) (5,5) (6,6) (7,0) (8,1) (9,2) ........... 

Метод itermonthdays3 ()

Этот метод очень похож на метод itermonthdays3() , за исключением того, что он возвращает кортеж из года, месяца и дня месяца.

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.itermonthdays3 (2019, 1): 
 print (i, end=" ") 

Выход:

 (2018,12,31) (2019,01,01) (2019,01,02).....(2019,01,31) (2019,02,01) (2019,02,02) (2019,02,03) 

Метод monthdatescalendar ()

Этот метод принимает в качестве аргументов год и месяц и возвращает список полных недель в месяце. Каждая неделя представляет собой список из 7 объектов datetime.date.

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.monthdatescalendar (2019, 1): 
 print (i, end=" ") 

Выход:

 [datetime.date(2018, 12, 31), datetime.date(2019, 01, 01), datetime.date(2019, 01, 02), datetime.date(2019, 01, 03), datetime.date(2019, 01, 04), datetime.date(2019, 01, 05), datetime.date(2019, 01, 06)... datetime.date(2019, 02, 03)] 
 ..... 

Метод monthdays2calendar ()

Эта функция принимает в качестве аргументов год и месяц и возвращает список недель с каждой неделей в виде 7 кортежей дня месяца и дня недели.

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.monthdays2calendar (2019, 1): 
 print(i, end=" ") 

Выход:

 [(0,0) (1,1) (2,2) (3,3) (4,4) (5,5) (6,6)] 
 [(7,0) (8,1) (9,2) (10,3) (11,4) (12,5) (13,6)] 
 .... 

Как видите, первое значение кортежа - это день месяца (0-31), а второе значение кортежа - это номер недели (0-6).

Метод monthdayscalendar ()

Этот метод принимает в качестве аргументов год и месяц и возвращает список полных недель, при этом каждая неделя представляет собой список дней месяца.

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.monthdayscalendar(2019, 1): 
 print (i, end=" ") 

Пример вывода:

 [0, 1, 2 , 3, 4, 5, 6] [7, 8, 9, 10, 11, 12, 13]....[28, 29, 30, 31, 0, 0, 0] 

Метод yeardatescalendar ()

Эта функция принимает год ( yyyy ) и количество месяцев в строке месяца ( w ). По умолчанию w равен 3. Функция возвращает список строк месяца, где дни - это объекты datetime.date

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.yeardatescalendar(2019, 3): 
 print (i, end=" ") 

Выход:

 [[[datetime.date(2018, 12, 31), datetime.date(2019, 1, 1), datetime.date(2019, 1, 2), datetime.date(2019, 1, 3), datetime.date(2019, 1, 4), datetime.date(2019, 1, 5), datetime.date(2019, 1, 6)], [datetime.date(2019, 1, 7), datetime.date(2019, 1, 8), datetime.date(2019, 1, 9), datetime.date(2019, 1, 10), datetime.date(2019, 1, 11), datetime.date(2019, 1, 12), datetime.date(2019, 1, 13)], [datetime.date(2019, 1, 14), datetime.date(2019, 1, 15), datetime.date(2019, 1, 16), datetime.date(2019, 1, 17), datetime.date(2019, 1, 18), datetime.date(2019, 1, 19), datetime.date(2019, 1, 20)], [datetime.date(2019, 1, 21), datetime.date(2019, 1, 22), datetime.date(2019, 1, 23), datetime.date(2019, 1, 24), datetime.date(2019, 1, 25), datetime.date(2019, 1, 26), datetime.date(2019, 1, 27)], [datetime.date(2019, 1, 28), datetime.date(2019, 1, 29), datetime.date(2019, 1, 30), datetime.date(2019, 1, 31), datetime.date(2019, 2, 1), datetime.date(2019, 2, 2), datetime.date(2019, 2, 3)]] ... ] 

Метод yeardays2calendar ()

Эта функция принимает год ( yyyy ) и количество месяцев, которые мы хотим в строке месяца ( w ). По умолчанию w равен 3. Функция возвращает список недель в виде кортежей дней месяца и дня недели.

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.yeardays2calendar(2019, 3): 
 print (i, end=" ") 

Выход:

 [[[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6)], [(7, 0), (8, 1), (9, 2), (10, 3), (11, 4), (12, 5), (13, 6)], [(14, 0), (15, 1), (16, 2), (17, 3), (18, 4), (19, 5), (20, 6)], [(21, 0), (22, 1), (23, 2), (24, 3), (25, 4), (26, 5), (27, 6)], [(28, 0), (29, 1), (30, 2), (31, 3), (0, 4), (0, 5), (0, 6)]], [[(0, 0), (0, 1), (0, 2), (0, 3), (1, 4), (2, 5), (3, 6)], [(4, 0), (5, 1), (6, 2), (7, 3), (8, 4), (9, 5), (10, 6)], [(11, 0), (12, 1), (13, 2), (14, 3), (15, 4), (16, 5), (17, 6)], [(18, 0), (19, 1), (20, 2), (21, 3), (22, 4), (23, 5), (24, 6)], [(25, 0), (26, 1), (27, 2), (28, 3), (0, 4), (0, 5), (0, 6)]], [[(0, 0), (0, 1), (0, 2), (0, 3), (1, 4), (2, 5), (3, 6)] ... ]] 

Метод yeardayscalendar ()

Эта функция принимает год ( yyyy ) и количество месяцев, которое мы хотим в строке месяца ( w ). По умолчанию w равен 3. Функция возвращает список недель как день месяца.

Пример:

 import calendar 
 
 c = calendar.Calendar() 
 for i in c.yeardayscalendar(2019, 3): 
 print (i, end=" ") 

Выход:

 [[[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, 0]], [[0, 0, 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, 0, 0, 0]], [[0, 0, 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]]] [[[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, 0, 0, 0, 0, 0]] ... ]] 

Класс TextCalendar

TextCalendar используется для создания текстовых календарей. Аналогично классу Calendar Этот класс принимает конструктор, в котором для первого дня недели по умолчанию установлено значение 0. Давайте посмотрим на методы, предоставляемые классом TextCalendar

Метод formatmonth ()

Этот метод принимает 4 аргумента, а именно: год, месяц, столбец ширины дней ( w ) и количество строк, используемых каждой неделей ( l ). Этот метод возвращает многострочную строку.

Пример:

 import calendar 
 
 c = calendar.TextCalendar() 
 print(c.formatmonth(2019, 1)) 

Это отображает календарь на январь 2019 года.

Выход:

 January 2019 
 Mo Tu We Th Fr Sa Su 
 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 

Метод prmonth ():

Этот метод печатает календарь на месяц, возвращенный методом formatmonth . Мы можем использовать эту функцию, чтобы избежать использования функции «print» для печати календаря на терминале.

Чтобы распечатать календарь на январь 2019 года, используйте:

 c.prmonth(2019, 1) 

Метод formatyear ():

Этот метод возвращает календарь в столбце «m» на весь год. В эту функцию передаются следующие аргументы: год ( yyyy ), ширина столбца даты ( w ), количество строк в неделю ( l ), количество пробелов между столбцом месяца ( c ), количество столбцов ( m ).

Класс LocaleTextCalendar :

Это подкласс класса TextCalendar . Его конструктор принимает дополнительный аргумент locale . Он вернет названия месяца и дня недели в указанном языковом стандарте. Мы можем создать объект текстового календаря на нашем родном языке. Мы можем получить месяц или дни недели или другие данные для отображения календаря, отформатированного из локальной системы, кроме текущего по умолчанию. Пример:

 import calendar 
 
 for name in calendar.month_name: 
 print(name) 

Это напечатает название месяцев в соответствии с локальной системой.

Выход:

 January 
 February 
 March 
 April 
 May 
 June 
 July 
 August 
 September 
 October 
 November 
 December 

Класс HTMLCalendar :

Это похоже на TextCalendar , но генерирует календарь в формате HTML. В конструкторе этого класса для параметра firstweekday установлено значение «0».

Ниже приведены некоторые методы, предоставляемые классом HTMLCalendar

Метод formatmonth ():

Эта функция отображает календарь на месяц в формате таблицы HTML. Мы можем отобразить календарь на апрель 2019 года в виде таблицы HTML, используя:

 hc = calendar.HTMLCalendar() 
 print(hc.formatmonth(2019, 4)) 

Выход:

 <table border="0" cellpadding="0" cellspacing="0" class="month"> 
 <tr><th colspan="7" class="month">April 2019</th></tr> 
 <tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr> 
 <tr><td class="mon">1</td><td class="tue">2</td><td class="wed">3</td><td class="thu">4</td><td class="fri">5</td><td class="sat">6</td><td class="sun">7</td></tr> 
 <tr><td class="mon">8</td><td class="tue">9</td><td class="wed">10</td><td class="thu">11</td><td class="fri">12</td><td class="sat">13</td><td class="sun">14</td></tr> 
 <tr><td class="mon">15</td><td class="tue">16</td><td class="wed">17</td><td class="thu">18</td><td class="fri">19</td><td class="sat">20</td><td class="sun">21</td></tr> 
 <tr><td class="mon">22</td><td class="tue">23</td><td class="wed">24</td><td class="thu">25</td><td class="fri">26</td><td class="sat">27</td><td class="sun">28</td></tr> 
 <tr><td class="mon">29</td><td class="tue">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr> 
 </table> 

Метод formatyear ():

Этот метод принимает год и количество месяцев в строке ( w ) в качестве аргументов и печатает календарь всего года в виде таблицы HTML. По умолчанию ширина установлена на 3. Мы можем отобразить календарь на 2019 год в виде таблицы HTML, используя:

 hc = calendar.HTMLCalendar() 
 print(hc.formatyear(2019, 4)) 

Метод formatyearpage ():

Этот метод принимает в качестве аргументов год, количество месяцев в строке ( w ), каскадную таблицу стилей (CSS) и кодировку. css и encoding могут иметь значение None , если мы не используем CSS и кодировку. Эта функция отображает календарь на весь год в виде HTML-страницы с шириной по умолчанию 3. Мы можем распечатать календарь на 2019 год в виде HTML-страницы, используя:

 hc = calendar.HTMLCalendar() 
 print(hc.formatyearpage(2019, 3, css=None, encoding=None)) 

 b'<?xml version="1.0" encoding="utf-8"?>\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n<title>Calendar for 2019</title>\n</head>\n<body>\n<table border="0" cellpadding="0" cellspacing="0" class="year">\n<tr><th colspan="3" class="year">2019</th></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" class="month">\n<tr><th colspan="7" class="month">January</th></tr>\n<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>\n<tr><td class="noday">&nbsp;</td><td class="tue">1</td><td class="wed">2</td><td class="thu">3</td><td class="fri">4</td><td class="sat">5</td><td class="sun">6</td></tr> ... </table></body>\n</html>\n' 

HTMLCalendar похож на текстовую версию, но заключен в HTML-теги. Ячейка таблицы HTML содержит атрибут класса, соответствующий дню недели. Следовательно, HTML-календарь можно стилизовать с помощью CSS.

Класс LocaleHTMLCalendar

Это подкласс класса HTMLCalendar Его конструктор принимает дополнительный аргумент locale . Он вернет названия месяцев и дней недели в указанном языковом стандарте в виде таблицы HTML. Мы можем создать объект текстового календаря на нашем родном языке. Например, мы можем сгенерировать календарь на апрель 2019 года в виде таблицы HTML в локали en_AU, используя:

 import calendar 
 
 cal = calendar.LocaleHTMLCalendar(locale='en_AU.utf8') 
 print(cal.formatmonth(2019, 4)) 

Выход:

 <table border="0" cellpadding="0" cellspacing="0" class="month"> 
 <tr><th colspan="7" class="month">April 2019</th></tr> 
 <tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr> 
 <tr><td class="mon">1</td><td class="tue">2</td><td class="wed">3</td><td class="thu">4</td><td class="fri">5</td><td class="sat">6</td><td class="sun">7</td></tr> 
 <tr><td class="mon">8</td><td class="tue">9</td><td class="wed">10</td><td class="thu">11</td><td class="fri">12</td><td class="sat">13</td><td class="sun">14</td></tr> 
 <tr><td class="mon">15</td><td class="tue">16</td><td class="wed">17</td><td class="thu">18</td><td class="fri">19</td><td class="sat">20</td><td class="sun">21</td></tr> 
 <tr><td class="mon">22</td><td class="tue">23</td><td class="wed">24</td><td class="thu">25</td><td class="fri">26</td><td class="sat">27</td><td class="sun">28</td></tr> 
 <tr><td class="mon">29</td><td class="tue">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr> 
 </table> 

Заключение

В этом руководстве мы обсудили использование различных классов и подклассов Calendar в Python для работы с датами для управления значениями, ориентированными на неделю / месяц / год. Мы также обсудили использование функций в модуле Python Calendar. Наряду с этим мы также реализовали TextCalendar и HTMLCalendar для создания предварительно отформатированного вывода. Надеюсь, этот урок был информативным!

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus