Modulul Calendar din Python are clasa de calendar care permite calculele pentru diferite sarcini în funcție de dată, lună și an. În plus, clasa TextCalendar și HTMLCalendar din Python vă permite să editați calendarul și să îl utilizați conform cerințelor dvs.
Să vedem ce putem face cu Python Calendar.
Pasul 1) Rulați codul.
- Linia de cod # 1: Începem cu „calendarul de import” care va importa toate clasele acestui modul.
- Linia de cod # 3: c = calendar.TextCalendar (calendar.SUNDAY) îi spune interpretului să creeze un calendar text. Începutul lunii va fi duminică. În Python, puteți formata calendarul, deoarece puteți schimba ziua lunii pentru a începe
- Linia de cod # 4: str = c.formatmonth (2025,1) Creăm calendar pentru anul 2025, luna 1 - ianuarie
- Linia de cod # 5: print str va imprima rezultatul.
Să schimbăm rapid valoarea de duminică în joi și să verificăm rezultatul
Pasul 2) Puteți imprima, de asemenea, Calendarul în format HTML, această caracteristică este utilă pentru dezvoltatori dacă doresc să facă modificări în aspectul calendarului
Pasul 3) Bucle în zilele unei luni folosind c.itermonthday (2025,4), va prelua numărul total de zile pentru luna respectivă.
- Când executați codul pentru a obține numărul total de zile pentru o anumită lună, spuneți „aprilie”, atunci veți primi 30 de zile în ieșire, dar veți vedea și câteva zerouri împreună cu aceste zile la începutul și uneori la sfârșitul acestuia .
- Zero în ieșire înseamnă că ziua săptămânii se află într-o lună care se suprapune, ceea ce înseamnă că nu aparține lunii respective.
- Aceste zerouri apare în ieșire , deoarece, în codul dvs. ați menționat zi (joi), astfel încât atunci când apelați funcția „c.itermonthdays“, acesta va începe de zile numărând de joi și joi dvs. nu poate începe cu data de 1 st aprilie s - ar putea fie de 28 mii sau 29 mii martie, astfel încât atunci când executați codul acesta va începe de la 28 de zile de numărare mii martie și orice zi după aceea până la 1 st aprilie. Aceste zile vor fi numărate ca zero și în ieșire veți vedea aceste zerouri și același lucru se aplică la sfârșitul lunii.
- Deci, cu excepția datei 1-30, toate datele din luna anterioară și post-lună vor apărea în ieșire ca zero.
Pasul 4) Puteți prelua datele din sistemul local, cum ar fi luni sau săptămâni etc.
- Rezultatul de aici arată că am imprimat numele lunilor din sistemul local. La fel, puteți prelua și numele zilelor săptămânii, așa cum se arată mai jos
- Ieșirea va depinde de sistemul local, să presupunem că dacă sistemul dvs. local este în alte țări, atunci acesta va da ieșirea conform setărilor locale din țara respectivă. Aici avem luni, deci nu va fi o diferență, dar dacă este o săptămână sau o zi, cu siguranță va diferi.
Pasul 5) Puteți prelua lista zilei specifice pentru un an întreg. De exemplu, există o zi de audit în fiecare primă luni a săptămânii. Doriți să știți data primei luni pentru fiecare lună. Puteți utiliza acest cod
- mycal = calendar.monthcalendar (2025, lună) va crea calendarul lunii
- Setați variabilele săptămâna 1 și săptămâna 2 la prima și a doua săptămână din calendar
- Verificați dacă săptămâna 1 conține luni, setați ziua auditului
- Altfel, a stabilit ziua auditului ca prima zi de luni din săptămâna 2
- Ieșirea arată data primei luni care cade în luna respectivă.
- Lungimea acestui obiect Cal va fi o anumită lungime, în funcție de câte săptămâni există în lună. În cazul nostru, va fi una sau două ca atare, prima zi de luni va fi în prima săptămână cel mai des, dacă nu, atunci luați în considerare a doua săptămână. Să vedem în detaliu de ce luăm în considerare și a doua săptămână.
- Aici folosim luni constantă a calendarului, obiectul calendarului vă oferă constante care reprezintă duminică, luni, marți, etc., etc. Le-am văzut anterior. Deci, dacă în prima săptămână ziua reprezentată de constanta de luni nu este egală cu 0, amintiți-vă că zerourile înseamnă zile care aparțin unei alte luni. Deci, în acest caz, dacă este zero, va fi o luni care aparține lunii precedente. Dar dacă prima zi de luni nu este egală cu 0, asta înseamnă că ziua mea de audit va fi în prima săptămână. În caz contrar, dacă este 0, atunci prima zi de luni nu este în prima săptămână a lunii, trebuie să fie în a doua.
- Deci, atunci spun bine, setați variabila mea de zi de audit să fie luni reprezentată de săptămâna a doua. Deci, ziua de audit va reveni cu orice zi este, fie pentru prima, fie pentru a doua săptămână.
Iată codul complet
Exemplu Python 2
calendarul de import# Creați un calendar cu text simpluc = calendar.TextCalendar (calendar.JOI)str = c.formatmonth (2025, 1, 0, 0)print str# Creați un calendar formatat HTMLhc = calendar.HTMLCalendar (calendar.JOI)str = hc.formatmonth (2025, 1)print str# buclă în zilele unei luni# zero indică faptul că ziua săptămânii este într-o lună următoare sau într-o lună care se suprapunepentru i în c.itermonthdays (2025, 4):tipar i# Calendarul poate oferi informații bazate pe astfel de nume locale de zile și luni (formulare complete și prescurtate)pentru numele din calendar.month_name:printeaza numelepentru ziua din calendar.day_name:ziua tiparului# calculați zilele pe baza unei reguli: de exemplu, o zi de audit în a doua zi de luni a fiecărei luni# Aflați ce zile ar fi pentru fiecare lună, putem folosi scriptul așa cum se arată aicipentru luna din intervalul (1, 13):# Se recuperează o listă de săptămâni care reprezintă lunamycal = calendar.monthcalendar (2025, lună)# Prima LUNI trebuie să fie în primele două săptămâniweek1 = mycal [0]week2 = mycal [1]dacă săptămâna1 [calendar.MONDAY]! = 0:auditday = week1 [calendar.MONDAY]altceva:# dacă prima LUNI nu este în prima săptămână, trebuie să fie în a doua săptămânăauditday = week2 [calendar.MONDAY]tipăriți „% 10s% 2d”% (calendar.month_name [luna], auditday)
Exemplu Python 3
calendarul de import# Creați un calendar cu text simpluc = calendar.TextCalendar (calendar.JOI)str = c.formatmonth (2025, 1, 0, 0)print (str)# Creați un calendar formatat HTMLhc = calendar.HTMLCalendar (calendar.JOI)str = hc.formatmonth (2025, 1)print (str)# buclă în zilele unei luni# zero indică faptul că ziua săptămânii este într-o lună următoare sau într-o lună care se suprapunepentru i în c.itermonthdays (2025, 4):print (i)# Calendarul poate oferi informații bazate pe astfel de nume locale de zile și luni (formulare complete și prescurtate)pentru numele din calendar.month_name:printeaza numele)pentru ziua din calendar.day_name:tipar (zi)# calculați zilele pe baza unei reguli: de exemplu, o zi de audit în a doua zi de luni a fiecărei luni# Aflați ce zile ar fi pentru fiecare lună, putem folosi scriptul așa cum se arată aicipentru luna din intervalul (1, 13):# Se recuperează o listă de săptămâni care reprezintă lunamycal = calendar.monthcalendar (2025, lună)# Prima LUNI trebuie să fie în primele două săptămâniweek1 = mycal [0]week2 = mycal [1]dacă săptămâna1 [calendar.MONDAY]! = 0:auditday = week1 [calendar.MONDAY]altceva:# dacă prima LUNI nu este în prima săptămână, trebuie să fie în a doua săptămânăauditday = week2 [calendar.MONDAY]print ("% 10s% 2d"% (calendar.month_name [month], auditday))
Rezumat:
- În Python, puteți formata calendarul așa cum doriți, deoarece puteți schimba ziua lunii pentru a începe
- Imprimați Calendarul în format HTML
- Preluați datele din sistemul local, cum ar fi lunile sau zilele săptămânii
- Obțineți lista zilei specifice pentru un an întreg