Introducción al módulo de calendario de Python

Python tiene un módulo incorporado llamado Calendar que contiene clases y funciones útiles para admitir una variedad de operaciones de calendario. Por defecto, el Calendario m...

Introducción

Python tiene un módulo incorporado llamado Calendar que contiene clases y funciones útiles para admitir una variedad de operaciones de calendario. Por defecto, el módulo Calendar sigue el calendario gregoriano, donde el lunes es el primer día (0) de la semana y el domingo es el último día de la semana (6).

En Python, fecha y hora y [tiempo](https://docs.python.org/2/library/ time.html#module-time) también proporcionan funcionalidades de bajo nivel relacionadas con el calendario. Además de estos módulos, el módulo Calendar proporciona funciones esenciales relacionadas con la visualización y manipulación de calendarios.

Para imprimir y manipular calendarios, el módulo Calendar tiene 3 clases importantes: Calendar, TextCalendar y HTMLCalendar. En este artículo, veremos cómo estas clases pueden ayudar a implementar una variedad de funciones relacionadas con el calendario.

Funcionalidades del módulo de calendario

Para usar el módulo Calendar, primero debemos importar el módulo usando:

1
import calendar

Echemos un vistazo a la lista de funciones útiles en este módulo.

Imprimir calendario para un mes específico

Podemos imprimir el calendario para un mes específico, usando la siguiente función:

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

Los argumentos pasados ​​a esta función son el año (yyyy), el mes (m), el ancho de la columna de fecha (w) y el número de líneas por semana (l), respectivamente. Por ejemplo, usemos esta función para imprimir el calendario de marzo de 2019:

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

Producción:

1
2
3
4
5
6
7
8
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

Imprimir calendario para un año específico

Podemos imprimir el calendario para un año completo, usando la siguiente función:

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

La función anterior devuelve el calendario para todo el año, para el año especificado como argumento. Los argumentos pasados ​​a esta función son el año (yyyy), el ancho de la columna de fecha (w), el número de líneas por semana (l), el número de espacios entre la columna del mes (c), número de columnas (m).

Por ejemplo, para imprimir el calendario del año 2019, utilice:

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

Producción:

 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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

Nota: En lugar de usar "imprimir", podemos usar alternativamente las funciones calendar.prmonth() y calendar.pryar() para imprimir los calendarios de mes y año. Estas funciones imprimen la salida en su terminal.

Comprobación de un año bisiesto

Podemos usar la función isleap() para comprobar si un año es bisiesto o no. El año se pasa como argumento a la función y la función devuelve Verdadero si el año es bisiesto, de lo contrario devuelve Falso si el año no es bisiesto. Usemos esta función para ver si el año 2016 es bisiesto:

1
calendar.isleap(2016)

Producción:

1
True

Número de años bisiestos dentro del rango {#númerodeañosbisiestosdentro del rango}

También es posible comprobar el número de años bisiestos en un rango de años determinado, especificado como argumento de la siguiente función:

1
calendar.leapdays(year1, year2)

Los argumentos pasados ​​a la función son 2 valores de año válidos. Esta función devuelve el número de años bisiestos entre esos años.

Ejemplo:

1
calendar.leapdays(2000, 2017)

Producción:

1
5

Como se ve, hay 5 años bisiestos entre 2000 y 2017, por lo que la salida es 5.

Devolver el día de la semana

El método weekday toma 3 argumentos, a saber: año, mes y día. La función devuelve el día de la semana, teniendo el lunes un índice de 0 y el domingo un índice de 6. Por ejemplo:

1
calendar.weekday(2019, 3, 21)

Producción:

1
3

Como se ve, esta función devuelve el valor de índice "3", que es "Jueves".

Obtener nombres de días de semana abreviados

La función weekheader toma un argumento n, que especifica el número de caracteres para un nombre de día de la semana en particular y devuelve un encabezado que contiene nombres de días de la semana abreviados.

Por ejemplo:

1
print (calendar.weekheader(2))

Producción:

1
Mo Tu We Th Fr Sa Su

Similarmente,

1
print (calendar.weekheader(3))

Producción:

1
Mon Tue Wed Thu Fri Sat Sun

Obtener el número de días de un mes

La función monthrange toma 2 argumentos: año y mes. Esta función devuelve una tupla que contiene el índice del día de la semana en que comienza el mes y el número de días del mes.

Por ejemplo:

1
print (calendar.monthrange(1983, 12))

Producción:

1
{3,31}

Dado que el primer día de diciembre de 1983 fue jueves, la función devuelve el valor de índice de jueves como el primer elemento de la tupla, y 31 dado que ese es el número de días de diciembre.

Obtener las semanas de un mes

La función monthcalendar toma 2 argumentos: año y mes y devuelve una matriz, en la que cada fila representa una semana de ese mes.

Por ejemplo:

1
print(calendar.monthcalendar(1983, 11))

Producción:

1
[[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]]

Como puede ver, cada matriz de semana comienza con el lunes y los días fuera del mes se representan con ceros. Entonces, la primera matriz indica que el primer día del mes es martes.

Modificación de la configuración predeterminada {#modificación de la configuración predeterminada}

La configuración predeterminada del calendario se puede modificar para adaptarse a sus necesidades. Por ejemplo, el siguiente script establece el lunes como el primer día de la semana.

1
class calendar.calendar(firstweekday=0)

Por defecto, los calendarios siguen la convención europea, teniendo el lunes como primer día de la semana y el domingo como último día de la semana. Además, el mes enero tiene el valor de índice 1 y diciembre tiene el valor de índice 12.

Métodos útiles de la clase Calendario

Los siguientes son algunos de los métodos más útiles de la clase de calendario.

El método iterweekdays()

Este método devuelve un iterador que contiene una lista de índices para los días de una semana.

Por ejemplo:

1
2
3
4
5
import calendar

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

Producción:

1
0 1 2 3 4 5 6

El método itermonthdates()

itermonthdates() toma 2 argumentos: año y mes. Esta función devuelve un iterador de todos los días del mes dado. Además, se muestran todos los días antes del comienzo del mes y después del final del mes, necesarios para obtener la semana completa.

Ejemplo:

1
2
3
4
5
import calendar

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

Producción:

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

El método itermonthdays()

Este método es similar al método itermonthdates, pero solo devuelve los números de los días.

Ejemplo:

1
2
3
4
5
import calendar

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

Producción:

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

Como puede ver, todos los días antes del comienzo del mes y después del final del mes para obtener la semana completa se establecen en "0".

El método itermonthdays2()

Este método muestra una tupla que consta de números de días y días de la semana.

Ejemplo:

1
2
3
4
5
import calendar

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

Producción:

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

El método itermonthdays3()

Este método es bastante similar al método itermonthdays3(), excepto que devuelve una tupla de año, mes y día del mes.

Ejemplo:

1
2
3
4
5
import calendar

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

Producción:

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

El método monthdatescalendar()

Este método toma año y mes como argumentos y devuelve una lista de semanas completas en el mes. Cada semana hay una lista de 7 fechahora.fecha objetos.

Ejemplo:

1
2
3
4
5
import calendar

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

Producción:

1
2
[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)]
.....

El método monthdays2calendar()

Esta función toma el año y el mes como argumentos y devuelve una lista de semanas, con cada semana como 7 tuplas del día del mes y el día de la semana.

Ejemplo:

1
2
3
4
5
import calendar

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

Producción:

1
2
3
[(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)]
....

Como puede ver, el primer valor de la tupla es el día del mes (0-31) y el segundo valor de la tupla es el número de la semana (0-6)

El método monthdayscalendar()

Este método toma año y mes como argumentos y devuelve una lista de semanas completas, siendo cada semana una lista de días de un mes.

Ejemplo:

1
2
3
4
5
import calendar

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

Salida de muestra:

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

El método yeardatescalendar()

Esta función toma el año (yyyy) y el número de meses en una fila de meses (w). De forma predeterminada, el parámetro w es 3. La función devuelve una lista de filas de meses, donde los días son objetos datetime.date.

Ejemplo:

1
2
3
4
5
import calendar

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

Producción:

1
[[[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)]] ... ]

El método yeardays2calendar()

Esta función toma el año (yyyy) y el número de meses que queremos en una fila de meses (w). Por defecto, el parámetro w es 3. La función devuelve una lista de semanas, como tuplas de días del mes y el día de la semana.

Ejemplo:

1
2
3
4
5
import calendar

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

Producción:

1
[[[(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)] ... ]]

El método yeardayscalendar()

Esta función toma el año (yyyy) y el número de meses que queremos en una fila de meses (w). De forma predeterminada, el parámetro w es 3. La función devuelve una lista de semanas como el día del mes.

Ejemplo:

1
2
3
4
5
import calendar

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

Producción:

1
[[[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]] ... ]]

La clase TextCalendar

El TextCalendar se utiliza para generar calendarios de texto sin formato. Similar a la clase Calendario. Esta clase toma un constructor donde el primer día de la semana se establece en 0, de forma predeterminada. Veamos los métodos provistos por la clase TextCalendar.

El método formatmonth()

Este método toma 4 argumentos, a saber: año, mes, el ancho de la columna de días (w) y una cantidad de líneas utilizadas por cada semana (l). Este método devuelve una cadena de varias líneas.

Ejemplo:

1
2
3
4
import calendar

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

Esto muestra el calendario de enero de 2019.

Producción:

1
2
3
4
5
6
7
    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

El método prmonth():

Este método imprime el calendario de un mes como lo devuelve el método formatmonth. Podemos usar esta función para evitar el uso de la función "imprimir", para imprimir el calendario en el terminal.

Para imprimir el calendario de enero de 2019, utilice:

1
c.prmonth(2019, 1)

El método formatyear():

Este método devuelve un calendario de columnas "m" para todo el año. Los argumentos pasados ​​a esta función son año (yyyy), ancho de columna de fecha (w), número de líneas por semana (l), número de espacios entre la columna del mes (c), número de columnas (m).

La clase LocaleTextCalendar:

Esta es una subclase de la clase TextCalendar. Su constructor toma un argumento adicional, locale. Devolverá los nombres de mes y día de la semana, en la configuración regional especificada. Podemos crear un objeto de calendario de texto en nuestro idioma nativo. Podemos obtener el mes o los días de la semana u otros datos para mostrar el calendario formateado desde el sistema local, que no sea el predeterminado actual. Ejemplo:

1
2
3
4
import calendar

for name in calendar.month_name:
    print(name)

Esto imprimirá el nombre de los meses, según el sistema local.

Producción:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
January
February
March
April
May
June
July
August
September
October
November
December

La clase HTMLCalendar:

Esto es similar a la clase TextCalendar, pero genera un calendario HTML. El constructor de esta clase tiene el primer día de la semana establecido en "0".

A continuación se muestran algunos de los métodos proporcionados por la clase HTMLCalendar.

El método formatmonth():

Esta función muestra el calendario de un mes, en formato de tabla HTML. Podemos mostrar el calendario de abril de 2019 como una tabla HTML, usando:

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

Producción:

1
2
3
4
5
6
7
8
9
<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>

El método formatyear():

Este método toma el año y el número de meses seguidos (w) como argumentos e imprime el calendario de todo el año como una tabla HTML. De forma predeterminada, el ancho se establece en 3. Podemos mostrar el calendario 2019 como una tabla HTML usando:

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

El método formatyearpage():

Este método toma un año, el número de meses seguidos (w), la hoja de estilo en cascada (CSS) y la codificación como argumentos. Los argumentos css y encoding se pueden establecer en Ninguno, en caso de que no usemos CSS y codificación. Esta función muestra el calendario de un año completo como una página HTML con un ancho predeterminado de 3. Podemos imprimir el calendario del año 2019 como una página HTML usando:

1
2
hc = calendar.HTMLCalendar()
print(hc.formatyearpage(2019, 3, css=None, encoding=None))
1
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'

La salida HTMLCalendar se parece a la versión de texto sin formato, pero está envuelta con etiquetas HTML. La celda de la tabla HTML contiene un atributo de clase correspondiente al día de la semana. Por lo tanto, el calendario HTML se puede diseñar a través de CSS.

La clase LocaleHTMLCalendar

Esta es una subclase de la clase HTMLCalendar. Su constructor toma un argumento adicional, locale. Devolverá los nombres de los meses y los días de la semana, en la configuración regional especificada como una tabla HTML. Podemos crear un objeto de calendario de texto en nuestro idioma nativo. Por ejemplo, podemos generar el calendario de abril de 2019 como una tabla HTML en la configuración regional 'en_AU' usando:

1
2
3
4
import calendar

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

Producción:

1
2
3
4
5
6
7
8
9
<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>

Conclusión

En este tutorial, discutimos el uso de diferentes clases y subclases del módulo Calendar en Python para trabajar con fechas para administrar valores orientados a la semana/mes/año. También discutimos el uso de funciones en el módulo Python Calendar. Junto con esto, también implementamos las clases TextCalendar y HTMLCalendar para producir una salida con formato previo. ¡Espero que el tutorial haya sido informativo!

Licensed under CC BY-NC-SA 4.0