Tutorial CALENDARIO Python con esempio

Anonim

Il modulo Calendar in Python ha la classe calendar che consente i calcoli per varie attività in base a data, mese e anno. Inoltre, la classe TextCalendar e HTMLCalendar in Python ti consente di modificare il calendario e utilizzarlo secondo le tue esigenze.

Vediamo cosa possiamo fare con Python Calendar.

Step1) Esegui il codice.

  • Riga di codice # 1: iniziamo con "import calendar" che importerà tutte le classi di questo modulo.
  • Riga di codice # 3: c = calendar.TextCalendar (calendar.SUNDAY) dice all'interprete di creare un calendario di testo. L'inizio del mese sarà domenica. In Python, puoi formattare il calendario poiché puoi cambiare il giorno del mese per cominciare
  • Riga di codice n. 4: str = c.formatmonth (2025,1) Stiamo creando il calendario per l'anno 2025, mese 1 - gennaio
  • Riga di codice # 5: print str stamperà l'output.

Cambiamo rapidamente il valore da domenica a giovedì e controlliamo l'output

Passaggio 2) Puoi anche stampare il calendario in formato HTML, questa funzione è utile per gli sviluppatori se desiderano apportare modifiche all'aspetto del calendario

Passaggio 3) Esegue cicli nei giorni di un mese utilizzando c.itermonthday (2025,4), verrà recuperato il numero totale di giorni per quel mese.

  • Quando esegui il codice per ottenere il numero totale di giorni per un mese specifico dì "Aprile" allora otterrai 30 giorni nell'output ma vedrai anche degli zeri insieme a questi giorni all'inizio ea volte alla fine di esso .
  • Gli zeri nell'output indicano che il giorno della settimana si trova in un mese sovrapposto, il che significa che non appartiene a quel mese.
  • Questi zeri appare in uscita perché, nel codice che avete menzionato giorno (Giovedi), in modo che quando si chiama "c.itermonthdays" funzione, inizierà giorni a contare da Giovedi e la tua Giovedi non può iniziare con la data 1 ° di aprile potrebbe essere 28 ° o 29 ° di marzo, in modo che quando si esegue il codice inizierà giorni a contare da 28 ° di marcia ed eventuali giorni dopo che fino al 1 ° aprile. Questi giorni verranno conteggiati come zero e nell'output vedrai questi zeri e lo stesso vale per la fine del mese.
  • Quindi, tranne la data 1-30, tutte le date del mese precedente e del mese di pubblicazione appariranno nell'output come zeri.

Passaggio 4) È possibile recuperare i dati dal sistema locale, come mesi o giorni feriali, ecc

  • L'output qui mostra che abbiamo stampato il nome del mese dal sistema locale. Allo stesso modo, puoi anche recuperare il nome dei giorni feriali come mostrato di seguito
  • L'output dipenderà dal sistema locale, supponiamo che se il tuo sistema locale è di altri paesi, fornirà l'output secondo le impostazioni locali di quel paese. Qui abbiamo mesi quindi non farà differenza, ma se è una settimana o un giorno sarà sicuramente diverso.

Passaggio 5) È possibile recuperare l'elenco del giorno specifico per un anno intero. Ad esempio, c'è un giorno di audit ogni primo lunedì di una settimana. Vuoi conoscere la data del primo lunedì di ogni mese. Puoi usare questo codice

  • mycal = calendar.monthcalendar (2025, month) creerà il calendario per il mese
  • Impostare le variabili settimana1 e settimana2 sulla prima e sulla seconda settimana del calendario
  • Controlla se la settimana 1 contiene lunedì, imposta il giorno dell'audit
  • Altrimenti, imposta il giorno dell'audit come primo lunedì della settimana 2
  • L'output mostra la data del primo lunedì che cade in quel mese.
  • La lunghezza di questo oggetto Cal sarà una certa lunghezza, in base al numero di settimane presenti nel mese. Nel nostro caso, sarà uno o due in quanto il primo lunedì della settimana sarà più spesso nella prima settimana, ma in caso contrario, considera la seconda settimana. Vediamo nel dettaglio perché consideriamo anche la seconda settimana.
  • Qui stiamo usando la costante del calendario lunedì, l'oggetto calendario ti dà le costanti che rappresentano domenica, lunedì, martedì, così via, così via. Li abbiamo visti in precedenza. Quindi, se nella prima settimana il giorno rappresentato dalla costante del lunedì non è uguale a 0, ricorda che gli zeri indicano i giorni che appartengono a un altro mese. Quindi, in questo caso, se è zero, sarà un lunedì che appartiene al mese precedente. Ma se il primo lunedì non è uguale a 0, significa che il mio giorno di audit sarà entro la prima settimana. Altrimenti, se è 0, il primo lunedì non è nella prima settimana del mese, deve essere nella seconda.
  • Quindi, allora dico ok, imposta la mia variabile del giorno di audit in modo che sia il lunedì rappresentato dalla seconda settimana. Quindi, il giorno dell'audit tornerà con qualunque giorno sia per la prima o la seconda settimana.

Ecco il codice completo

Esempio di Python 2

importare il calendario# Crea un calendario in testo semplicec = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)stampa str# Crea un calendario in formato HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)stampa str# loop nei giorni di un mese# gli zero indicano che il giorno della settimana è nel mese successivo o in un mese sovrappostoper i nei mesi c. (2025, 4):stampa i# Il calendario può fornire informazioni basate sui nomi locali di giorni e mesi (forme complete e abbreviate)per il nome in calendar.month_name:nome in stampatelloper il giorno in calendar.day_name:giorno di stampa# calcola i giorni in base a una regola: ad esempio un giorno di audit il secondo lunedì di ogni mese# Scopri quali giorni sarebbero per ogni mese, possiamo usare lo script come mostrato quiper il mese nell'intervallo (1, 13):# Recupera un elenco di settimane che rappresentano il mesemycal = calendar.monthcalendar (2025, mese)# Il primo LUNEDI 'deve essere entro le prime due settimanesettimana1 = mycal [0]settimana2 = mycal [1]se settimana1 [calendar.MONDAY]! = 0:auditday = week1 [calendar.MONDAY]altro:# se il primo LUNEDÌ non è nella prima settimana, deve essere nella seconda settimanaauditday = week2 [calendar.MONDAY]print "% 10s% 2d"% (calendar.month_name [mese], auditday)

Esempio di Python 3

importare il calendario# Crea un calendario in testo semplicec = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)print (str)# Crea un calendario in formato HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)print (str)# loop nei giorni di un mese# gli zero indicano che il giorno della settimana è nel mese successivo o in un mese sovrappostoper i nei mesi c. (2025, 4):stampa (i)# Il calendario può fornire informazioni basate sui nomi locali di giorni e mesi (forme complete e abbreviate)per il nome in calendar.month_name:print (nome)per il giorno in calendar.day_name:stampa (giorno)# calcola i giorni in base a una regola: ad esempio un giorno di audit il secondo lunedì di ogni mese# Scopri quali giorni sarebbero per ogni mese, possiamo usare lo script come mostrato quiper il mese nell'intervallo (1, 13):# Recupera un elenco di settimane che rappresentano il mesemycal = calendar.monthcalendar (2025, mese)# Il primo LUNEDI 'deve essere entro le prime due settimanesettimana1 = mycal [0]settimana2 = mycal [1]se settimana1 [calendar.MONDAY]! = 0:auditday = week1 [calendar.MONDAY]altro:# se il primo LUNEDÌ non è nella prima settimana, deve essere nella seconda settimanaauditday = week2 [calendar.MONDAY]print ("% 10s% 2d"% (calendar.month_name [mese], auditday))

Sommario:

  • In Python, puoi formattare il calendario nel modo desiderato poiché puoi cambiare il giorno del mese per iniziare
  • Stampa il calendario in formato HTML
  • Recupera i dati dal sistema locale, come mesi o giorni feriali
  • Recupera l'elenco del giorno specifico per un anno intero