El módulo calendar, trabajando con funciones relacionadas con el calendario en Python
El módulo calendar
en Python es una herramienta poderosa que permite trabajar con calendarios de manera sencilla y eficiente. Este módulo proporciona funciones para manipular fechas, generar calendarios en diferentes formatos y realizar cálculos relacionados con el tiempo. En este documento, exploraremos las principales características y funciones del módulo calendar
, así como ejemplos prácticos de su uso.

calendar
, trabajando con funciones relacionadas con el calendario en Python Introducción
Funciones para Obtener el Calendario
Para obtener un calendario en Python, se pueden utilizar varias funciones proporcionadas por el módulo calendar. A continuación, se muestran algunas funciones clave que pueden ayudar a trabajar con calendarios:
-
calendar.month(year, month)
: Esta función devuelve el calendario de un mes específico en formato de texto.import calendar # Mostrar el calendario de diciembre de 2024 print(calendar.month(2024, 12)) # Salida: December 2024 # Salida: Mo Tu We Th Fr Sa Su # Salida: 1 # Salida: 2 3 4 5 6 7 8 # Salida: 9 10 11 12 13 14 15 # Salida: 16 17 18 19 20 21 22 # Salida: 23 24 25 26 27 28 29 # Salida: 30 31
-
calendar.calendar(year)
: Devuelve el calendario completo del año en formato de texto.import calendar # Mostrar el calendario completo de 2024 print(calendar.calendar(2024))
-
calendar.setfirstweekday(weekday)
: Esta función cambia el primer día de la semana. El valor predeterminado es 0 (lunes), pero se puede establecer otro valor (por ejemplo, 6 para domingo).import calendar # Cambiar el primer día de la semana a domingo calendar.setfirstweekday(calendar.SUNDAY) print(calendar.month(2024, 12)) # Salida: December 2024 # Salida: Su Mo Tu We Th Fr Sa # Salida: 1 2 3 4 5 6 7 # Salida: 8 9 10 11 12 13 14 # Salida: 15 16 17 18 19 20 21 # Salida: 22 23 24 25 26 27 28 # Salida: 29 30 31 # Cambiar el primer día de la semana a domingo calendar.setfirstweekday(calendar.MONDAY) print(calendar.month(2024, 12)) # Salida: December 2024 # Salida: Mo Tu We Th Fr Sa Su # Salida: 1 # Salida: 2 3 4 5 6 7 8 # Salida: 9 10 11 12 13 14 15 # Salida: 16 17 18 19 20 21 22 # Salida: 23 24 25 26 27 28 29 # Salida: 30 31
-
calendar.weekheader(n)
:Este método es útil cuando se necesita un encabezado compacto para los días en un calendario.import calendar # Abreviaturas de 3 letras para los días de la semana print(calendar.weekheader(3)) # Abreviaturas de 2 letras para los días de la semana print(calendar.weekheader(2)) # Abreviaturas de 1 letra para los días de la semana print(calendar.weekheader(1)) # Salida: Mon Tue Wed Thu Fri Sat Sun # Salida: Mo Tu We Th Fr Sa Su # Salida: M T W T F S S
Funciones de Días de la Semana
-
calendar.month_name
: Devuelve el nombre de un mes dado su número. Es útil para mostrar nombres de meses en lugar de solo los números.import calendar # Obtener el nombre del mes para el mes 12 print(calendar.month_name[12]) # Salida: December
-
calendar.weekday(year, month, day)
: Devuelve el día de la semana para una fecha específica (0 = lunes, 1 = martes, ..., 6 = domingo).import calendar # Verificar qué día de la semana es el 20 de diciembre de 2024 print(calendar.weekday(2024, 12, 20)) # Salida: 4 (jueves)
-
calendar.day_name
: Lista con los nombres completos de los días de la semana, donde el índice 0 es "Lunes" y el índice 6 es "Domingo".import calendar print(calendar.day_name[2]) # Miércoles
- calendar.day_abbr: Lista con las abreviaturas de los días de la semana.
import calendar print(calendar.day_abbr[2]) # Mié
Funciones Para Año Bisiesto
-
calendar.isleap(year)
: DevuelveTrue
si el año es bisiesto, de lo contrario, devuelveFalse
.import calendar print(calendar.isleap(2024)) # True print(calendar.isleap(2023)) # False
-
calendar.leapdays(year1, year2)
: Devuelve el número de años bisiestos entre dos años (excluyendo el año final).import calendar print(calendar.leapdays(2000, 2024)) # Número de años bisiestos entre 2000 y 2024, 6 años
Funciones para Primer Día de la Semana
Algunas funciones permiten cambiar o consultar cuál es el primer día de la semana (en el calendario).
-
calendar.firstweekday()
: Devuelve el primer día de la semana actual (en formato numérico).import calendar print(calendar.firstweekday()) # 0 si el lunes es el primer día
-
calendar.setfirstweekday(weekday)
: Esta función cambia el primer día de la semana. El valor predeterminado es 0 (lunes), pero se puede establecer otro valor (por ejemplo, 6 para domingo).
Funciones de Calendario En Formato De Tabla
-
calendar.monthcalendar(year, month)
: Devuelve una lista de semanas (cada una representada como una lista de 7 días). Si un día no está en el mes, se representa como 0.import calendar # Mostrar el calendario de diciembre de 2024 como lista de semanas month_calendar = calendar.monthcalendar(2024, 12) for week in month_calendar: print(week) # Salida: [0, 0, 0, 0, 0, 0, 1] # Salida: [2, 3, 4, 5, 6, 7, 8] # Salida: [9, 10, 11, 12, 13, 14, 15] # Salida: [16, 17, 18, 19, 20, 21, 22] # Salida: [23, 24, 25, 26, 27, 28, 29] # Salida: [30, 31, 0, 0, 0, 0, 0]
-
calendar.prmonth(year, month)
: Imprime el calendario de un mes específico en formato tabular.import calendar calendar.prmonth(2024, 12)
-
calendar.prcal(year)
: Imprime el calendario completo de un año en formato tabular.import calendar calendar.prcal(2024)