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.