El módulo calendar convierte años y meses en semanas, nombres y representaciones de texto o HTML. Es útil en interfaces e informes, mientras datetime sigue siendo la base para representar fechas.

Genera las semanas de un mes

import calendar

semanas = calendar.monthcalendar(2026, 10)
for semana in semanas:
    print(semana)

assert calendar.isleap(2024)

Comprende los ceros y el primer día

Cada semana contiene siete enteros. El cero señala una posición fuera del mes. La semana empieza el lunes por defecto; prefiere una instancia Calendar(firstweekday=...) antes que cambiar el estado global con setfirstweekday().

Separa presentación y reglas

Usa month_name, day_name, TextCalendar o HTMLCalendar para presentar. Para plazos, zonas horarias e instantes, trabaja con fechas y políticas explícitas. Prueba cambios de año y años bisiestos.

Sigue aprendiendo

Consulta también fechas y horas con datetime. La documentación oficial de Python, consultada el 22 de julio de 2026, explica iteradores, formatos y convenciones.