O módulo calendar transforma anos e meses em semanas, nomes e representações textuais ou HTML. Ele é útil para interfaces, relatórios e regras baseadas na posição do dia, enquanto datetime continua sendo a base para representar datas.
Gere as semanas de um mês
import calendar
weeks = calendar.monthcalendar(2026, 10)
for week in weeks:
print(week)
assert calendar.isleap(2024)
Entenda os zeros e o primeiro dia
Cada semana contém sete números. O zero indica uma posição fora do mês. Por padrão, a semana começa na segunda-feira; prefira uma instância de Calendar(firstweekday=...) em vez de alterar o estado global com setfirstweekday().
Separe exibição de regras
Use month_name, day_name, TextCalendar ou HTMLCalendar para apresentação. Para calcular prazos, fusos e instantes, trabalhe com objetos de data e regras explícitas. Teste viradas de ano e anos bissextos.
Continue estudando
Leia também datas e horários com datetime. A documentação oficial do Python, consultada em 22 de julho de 2026, descreve iteradores, formatação e convenções.