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.

El módulo calendar, trabajando con funciones relacionadas con el calendario en Python
El módulo 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): Devuelve True si el año es bisiesto, de lo contrario, devuelve False.
                        
                          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)
                        
                      

COMENTARIOS

Si tiene alguna inquietud, duda o ha encontrado algún error, por favor infórmelo a través del formulario disponible para este propósito.

La política de privacidad, y los términos y condiciones están disponibles en el formulario de contacto.