Python CALENDÁRIO Tutorial com exemplo

Anonim

O módulo Calendar em Python possui a classe calendar que permite os cálculos para várias tarefas com base na data, mês e ano. Além disso, as classes TextCalendar e HTMLCalendar em Python permitem que você edite o calendário e use de acordo com suas necessidades.

Vamos ver o que podemos fazer com o Python Calendar.

Etapa 1) Execute o código.

  • Linha de código # 1: começamos com "importar calendário", que importará todas as classes deste módulo.
  • Linha de código 3: c = calendar.TextCalendar (calendar.SUNDAY) instrui o intérprete a criar um calendário de texto. O início do mês será no domingo. Em Python, você pode formatar o calendário, pois pode alterar o dia do mês para começar
  • Linha de código 4: str = c.formatmonth (2025,1) Estamos criando um calendário para o ano de 2025, mês 1 - janeiro
  • Linha de código 5: print str imprimirá a saída.

Vamos mudar rapidamente o valor de domingo para quinta e verificar a saída

Etapa 2) Você também pode imprimir o calendário em formato HTML; este recurso é útil para o desenvolvedor se eles quiserem fazer qualquer alteração na aparência do calendário

Etapa 3) Loops ao longo dos dias de um mês usando c.itermonthday (2025,4), ele buscará o número total de dias desse mês.

  • Quando você executa o código para obter o número total de dias para um mês específico diga "abril" então você terá 30 dias na saída, mas você também verá alguns zeros junto com esses dias no início e às vezes no final dele .
  • Zeros na saída significam que o dia da semana está em um mês sobreposto, o que significa que não pertence a esse mês.
  • Esses zeros aparecem na saída porque, em seu código, você mencionou o dia (quinta-feira), então quando você chamar a função "c.itermonthdays", ela começará a contar os dias a partir de quinta-feira e sua quinta-feira pode não começar com a data 1 ° de abril, pode ser de 28 ° ou 29 ° de março, por isso, quando você executar o código que vai começar dias contados a partir de 28 th de março e quaisquer dias depois disso, até 1 st de abril. Esses dias serão contados como zero e na saída você verá esses zeros e o mesmo se aplica ao final do mês.
  • Portanto, exceto a data de 1 a 30, todas as datas do mês anterior e posterior aparecerão na saída como zeros.

Etapa 4) Você pode buscar os dados do sistema local, como meses ou dias da semana, etc.

  • A saída aqui mostra que imprimimos o nome dos meses do sistema local. Da mesma forma, você também pode buscar o nome dos dias da semana, conforme mostrado abaixo
  • A saída dependerá do sistema local, suponha que se seu sistema local for de alguns outros países, ele fornecerá a saída de acordo com as configurações locais desse país. Aqui temos meses então não vai fazer diferença mas se for uma semana ou um dia com certeza vai ser diferente.

Etapa 5) Você pode buscar a lista do dia específico de um ano inteiro. Por exemplo, há um dia de auditoria em todas as primeiras segundas-feiras da semana. Você quer saber a data da primeira segunda-feira de cada mês. Você pode usar este código

  • mycal = calendar.monthcalendar (2025, mês) criará o calendário para o mês
  • Defina as variáveis ​​semana1 e semana2 para a primeira e segunda semana do calendário
  • Verifique se a semana 1 contém segunda-feira, defina o dia da auditoria
  • Caso contrário, defina o dia da auditoria como a primeira segunda-feira da semana 2
  • A saída mostra a data da primeira segunda-feira daquele mês.
  • A duração deste objeto Cal terá uma certa duração, com base em quantas semanas lá no mês. No nosso caso, vai ser uma ou duas, como tal, a primeira segunda-feira da semana será na primeira semana com mais frequência, mas se não, considere a segunda semana. Vamos ver em detalhes porque também consideramos a segunda semana.
  • Aqui, estamos usando a constante do calendário segunda-feira, o objeto calendário fornece constantes que representam domingo, segunda, terça-feira, e assim por diante. Já vimos isso antes. Portanto, se na semana um o dia representado pela constante de segunda-feira não for igual a 0, lembre-se de que zeros significam dias que pertencem a outro mês. Então, nesse caso, se for zero, vai ser uma segunda-feira que pertence ao mês anterior. Mas se a primeira segunda-feira não for igual a 0, isso significa que meu dia de auditoria estará dentro da semana um. Caso contrário, se for 0, então a primeira segunda-feira não está na primeira semana do mês, deve estar na segunda.
  • Então, eu digo ok, defina minha variável de dia de auditoria como a segunda-feira representada pela semana dois. Portanto, o dia da auditoria voltará com o dia da primeira ou da segunda semana.

Aqui está o código completo

Exemplo de Python 2

importar calendário# Crie um calendário de texto simplesc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)imprimir str# Crie um calendário formatado em HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)imprimir str# loop ao longo dos dias de um mês# zeros indicam que o dia da semana está no próximo mês ou mês sobrepostopara i em c.itermonthdays (2025, 4):imprimir i# O calendário pode fornecer informações com base no local, como nomes de dias e meses (formas completas e abreviadas)para nome em calendar.month_name:imprimir nomepara dia em calendar.day_name:dia de impressão# calcular dias com base em uma regra: por exemplo, um dia de auditoria na segunda segunda-feira de cada mês# Descubra quais seriam os dias de cada mês, podemos usar o script conforme mostrado aquipara o mês no intervalo (1, 13):# Recupera uma lista de semanas que representam o mêsmycal = calendar.monthcalendar (2025, mês)# A primeira SEGUNDA-FEIRA deve ser nas primeiras duas semanassemana1 = mycal [0]semana2 = mycal [1]if week1 [calendar.MONDAY]! = 0:auditday = week1 [calendar.MONDAY]outro:# se a primeira SEGUNDA-FEIRA não for na primeira semana, deve ser na segunda semanaauditday = week2 [calendar.MONDAY]imprimir "% 10s% 2d"% (calendar.month_name [month], auditday)

Exemplo de Python 3

importar calendário# Crie um calendário de texto simplesc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)imprimir (str)# Crie um calendário formatado em HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)imprimir (str)# loop ao longo dos dias de um mês# zeros indicam que o dia da semana está no próximo mês ou mês sobrepostopara i em c.itermonthdays (2025, 4):imprimir (i)# O calendário pode fornecer informações com base no local, como nomes de dias e meses (formas completas e abreviadas)para nome em calendar.month_name:imprimir (nome)para dia em calendar.day_name:imprimir (dia)# calcular dias com base em uma regra: por exemplo, um dia de auditoria na segunda segunda-feira de cada mês# Descubra quais seriam os dias de cada mês, podemos usar o script conforme mostrado aquipara o mês no intervalo (1, 13):# Recupera uma lista de semanas que representam o mêsmycal = calendar.monthcalendar (2025, mês)# A primeira SEGUNDA-FEIRA deve ser nas primeiras duas semanassemana1 = mycal [0]semana2 = mycal [1]if week1 [calendar.MONDAY]! = 0:auditday = week1 [calendar.MONDAY]outro:# se a primeira SEGUNDA-FEIRA não for na primeira semana, deve ser na segunda semanaauditday = week2 [calendar.MONDAY]print ("% 10s% 2d"% (calendar.month_name [month], auditday))

Resumo:

  • Em Python, você pode formatar o calendário da maneira que quiser, pois pode alterar o dia do mês para começar
  • Imprima o calendário em formato HTML
  • Busque os dados do sistema local, como meses ou dias da semana
  • Busque a lista do dia específico de um ano inteiro