Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Módulo Calendar de Python: Guía Experta con Ejemplos de Código

El módulo integrado calendar de Python ofrece potentes herramientas para trabajar con fechas, meses y años. Aprovechando clases como TextCalendar y HTMLCalendar, los desarrolladores pueden crear calendarios imprimibles o web-friendly, iterar a través de días e incluso calcular reglas de scheduling personalizadas.

A continuación, un recorrido paso a paso de los casos de uso más comunes, completo con snippets de código listos para ejecutar para Python 2 y Python 3.

Paso 1 – Generar un Calendario de Texto

Ejecuta el siguiente script para ver un calendario de texto plano para Enero 2025, comenzando la semana en Jueves:

Módulo Calendar de Python: Guía Experta con Ejemplos de Código

Cambia el día de inicio a Domingo para verificar flexibilidad:

Módulo Calendar de Python: Guía Experta con Ejemplos de Código

Paso 2 – Renderizar un Calendario HTML

Para aplicaciones web, HTMLCalendar puede generar una tabla HTML completa que puede estilizarse con CSS:

Módulo Calendar de Python: Guía Experta con Ejemplos de Código

Paso 3 – Iterar Sobre Días de un Mes

El método itermonthdays produce todos los días del mes, incluyendo ceros de padding para días que pertenecen a meses adyacentes. Esto es útil para alinear calendarios:

Módulo Calendar de Python: Guía Experta con Ejemplos de Código

Paso 4 – Obtener Nombres Locale-Aware

Python honra automáticamente el locale del sistema para nombres de meses y días. Abajo, salida de ejemplo al imprimir calendar.month_name y calendar.day_name:

Módulo Calendar de Python: Guía Experta con Ejemplos de Código

La configuración de locale varía por máquina, así que resultados pueden diferir para usuarios en otros países.

Paso 5 – Calcular Fechas Personalizadas (ej. Primer Lunes de Cada Mes)

Abajo, script conciso que encuentra el primer lunes de cada mes en 2025:

Módulo Calendar de Python: Guía Experta con Ejemplos de Código

La lógica usa calendar.monthcalendar para obtener matriz de semanas, luego verifica las primeras dos semanas por valor de lunes no-cero.

Ejemplo Python 2

import calendar
# Crear calendario texto plano
c = calendar.TextCalendar(calendar.THURSDAY)
text = c.formatmonth(2025, 1)
print text
# Crear calendario HTML formateado
hc = calendar.HTMLCalendar(calendar.THURSDAY)
html = hc.formatmonth(2025, 1)
print html
# Iterar sobre días de un mes
for i in c.itermonthdays(2025, 4):
    print i
# Nombres locale-aware de meses y días
for name in calendar.month_name:
    print name
for day in calendar.day_name:
    print day
# Encontrar primer lunes de cada mes
for month in range(1, 13):
    mycal = calendar.monthcalendar(2025, month)
    week1 = mycal[0]
    week2 = mycal[1]
    if week1[calendar.MONDAY] != 0:
        auditday = week1[calendar.MONDAY]
    else:
        auditday = week2[calendar.MONDAY]
    print "%10s %2d" % (calendar.month_name[month], auditday)

Ejemplo Python 3

import calendar
# Crear calendario texto plano
c = calendar.TextCalendar(calendar.THURSDAY)
text = c.formatmonth(2025, 1)
print(text)
# Crear calendario HTML formateado
hc = calendar.HTMLCalendar(calendar.THURSDAY)
html = hc.formatmonth(2025, 1)
print(html)
# Iterar sobre días de un mes
for i in c.itermonthdays(2025, 4):
    print(i)
# Nombres locale-aware de meses y días
for name in calendar.month_name:
    print(name)
for day in calendar.day_name:
    print(day)
# Encontrar primer lunes de cada mes
for month in range(1, 13):
    mycal = calendar.monthcalendar(2025, month)
    week1 = mycal[0]
    week2 = mycal[1]
    if week1[calendar.MONDAY] != 0:
        auditday = week1[calendar.MONDAY]
    else:
        auditday = week2[calendar.MONDAY]
    print("%10s %2d" % (calendar.month_name[month], auditday))

Conclusión

python

  1. Clases Abstractas en C#: Tutorial Práctico con Ejemplos de Código
  2. Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
  3. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  4. Función round() en Python explicada con ejemplos prácticos
  5. Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
  6. Python timeit(): medición de tiempo de ejecución con ejemplos prácticos
  7. Dominando yield en Python: Generadores vs Return – Guía práctica
  8. Counter de collections en Python: conteo eficiente, actualización y operaciones aritméticas
  9. Python list.count(): Guía Experta con Ejemplos Prácticos
  10. Python list.index(): Cómo Encontrar Posiciones de Elementos con Ejemplos Prácticos
  11. Programación de Extensiones en Python con C: Crea Módulos Nativos Rápidos