Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Módulo Calendar do Python: Guia Especializado com Exemplos de Código

O módulo embutido calendar do Python oferece ferramentas poderosas para trabalhar com datas, meses e anos. Aproveitando classes como TextCalendar e HTMLCalendar, desenvolvedores podem criar calendários imprimíveis ou amigáveis para web, iterar através de dias e até calcular regras de agendamento personalizadas.

Abaixo está um passo a passo dos casos de uso mais comuns, completo com snippets de código prontos para executar para Python 2 e Python 3.

Passo 1 – Gerar um Calendário em Texto

Execute o script a seguir para ver um calendário em texto plano para Janeiro 2025, iniciando a semana na Quinta-feira:

Módulo Calendar do Python: Guia Especializado com Exemplos de Código

Mude o dia inicial para Domingo para verificar a flexibilidade:

Módulo Calendar do Python: Guia Especializado com Exemplos de Código

Passo 2 – Renderizar um Calendário HTML

Para aplicações web, HTMLCalendar pode gerar uma tabela HTML completa que pode ser estilizada com CSS:

Módulo Calendar do Python: Guia Especializado com Exemplos de Código

Passo 3 – Iterar sobre Dias de um Mês

O método itermonthdays rende todos os dias do mês, incluindo zeros de preenchimento para dias que pertencem a meses adjacentes. Isso é útil para alinhar calendários:

Módulo Calendar do Python: Guia Especializado com Exemplos de Código

Passo 4 – Recuperar Nomes Locale-Aware

Python honra automaticamente o locale do sistema para nomes de meses e dias da semana. Abaixo está uma saída de exemplo ao imprimir calendar.month_name e calendar.day_name:

Módulo Calendar do Python: Guia Especializado com Exemplos de Código

Configurações de locale variam por máquina, então resultados podem diferir para usuários em outros países.

Passo 5 – Calcular Datas Personalizadas (ex: Primeira Segunda-feira de Cada Mês)

Abaixo está um script conciso que encontra a primeira Segunda-feira de cada mês em 2025:

Módulo Calendar do Python: Guia Especializado com Exemplos de Código

A lógica usa calendar.monthcalendar para obter uma matriz de semanas, então verifica as duas primeiras semanas por um valor de Segunda-feira não-zero.

Exemplo Python 2

import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
text = c.formatmonth(2025, 1)
print text
# Create an HTML formatted calendar
hc = calendar.HTMLCalendar(calendar.THURSDAY)
html = hc.formatmonth(2025, 1)
print html
# Loop over the days of a month
for i in c.itermonthdays(2025, 4):
    print i
# Locale-aware names of months and days
for name in calendar.month_name:
    print name
for day in calendar.day_name:
    print day
# Find the first Monday of each month
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)

Exemplo Python 3

import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
text = c.formatmonth(2025, 1)
print(text)
# Create an HTML formatted calendar
hc = calendar.HTMLCalendar(calendar.THURSDAY)
html = hc.formatmonth(2025, 1)
print(html)
# Loop over the days of a month
for i in c.itermonthdays(2025, 4):
    print(i)
# Locale-aware names of months and days
for name in calendar.month_name:
    print(name)
for day in calendar.day_name:
    print(day)
# Find the first Monday of each month
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))

Conclusão

python

  1. Classes Abstratas em C#: Tutorial Prático com Exemplos de Código
  2. Dominando o Método strip() do Python: Guia Completo e Exemplos Práticos
  3. Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
  4. Função round() em Python Explicada com Exemplos Práticos
  5. Dominando a Função map() do Python: Sintaxe, Exemplos e Boas Práticas
  6. Python timeit(): Medindo Tempo de Execução com Exemplos Práticos
  7. Dominando o yield do Python: Generator vs Return – Guia Prático
  8. Counter do Python em collections: Contagem Eficiente, Atualização e Operações Aritméticas
  9. Python list.count(): Guia Especializado com Exemplos Práticos
  10. Python List index(): Como Encontrar Posições de Elementos com Exemplos Práticos