Python CALENDAR Tutorial cu Exemplu
Modulul Calendar în Python are clasa de calendar care permite calculele pentru diferite sarcini în funcție de dată, lună și an. Pe deasupra, se află clasa TextCalendar și HTMLCalendar Python vă permite să editați calendarul și să îl utilizați conform cerințelor dvs.
Să vedem cu ce putem face Python Calendar.
Pasul 1) Rulați codul.
- Linia de cod # 1: Începem cu „import calendar” 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 modifica ziua lunii pentru început
- 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ă modificăm rapid valoarea de la duminică la joi și să verificăm rezultatul
Pas 2) De asemenea, puteți imprima calendarul în format HTML, această caracteristică este utilă pentru dezvoltatori dacă doresc să facă orice modificări în aspectul calendarului.
Pas 3) Buclele pe parcursul zilelor 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 niște zerouri împreună cu aceste zile la început și uneori la sfârșitul acesteia .
- Zerourile din ieșire înseamnă că ziua săptămânii este într-o lună care se suprapune, ceea ce înseamnă că nu aparține lunii respective.
- Aceste zerouri apar în ieșire deoarece, în codul dvs. ați menționat ziua (joi), așa că atunci când apelați funcția „c.itermonthdays”, aceasta va începe să numere zilele de joi, iar joia dvs. poate să nu înceapă cu data 1st din aprilie ar putea fi 28th sau 29th din martie, așa că atunci când executați codul va începe să numere zile de la 28th din martie și orice zi după aceea până la 1st din 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ă, precum și din luna următoare vor apărea în rezultat ca zerouri.
Pas 4) Puteți prelua datele din sistemul local, cum ar fi luni sau zile lucrătoare etc
- Rezultatul de aici arată că am tipărit numele lunilor din sistemul local. De asemenea, puteți prelua și numele zilelor lucrătoare, 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 va oferi ieșirea conform setărilor locale din acea țară. Aici avem luni, așa că nu va fi o diferență, dar dacă este o săptămână sau o zi, cu siguranță va diferi.
Pas 5) Puteți obține lista cu o anumită zi pentru un an întreg. De exemplu, există o zi de audit la fiecare primă Monday de o săptămână. Vrei să știi data primului Monday pentru fiecare lună. Puteți folosi acest cod
- mycal = calendar.monthcalendar(2025, luna) va crea calendarul lunii
- Setați variabilele săptămână1 și săptămâna2 la Prima și a doua săptămână a calendarului
- Verificați dacă săptămâna 1 conține Monday, stabiliți ziua auditului
- În rest, setați ziua auditului ca prima Monday in saptamana 2
- Ieșirea arată data pentru prima Monday 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ă pe lună. În cazul nostru, mai întâi vor fi unul sau doi ca atare Monday a săptămânii va fi în prima săptămână cel mai des, dar 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 constanta calendarului Monday, obiectul calendar vă oferă constante care reprezintă duminica, Monday, marți, așa mai departe, așa mai departe. Le-am văzut anterior. Deci, dacă în săptămâna unu ziua reprezentată de Monday constanta 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 a Monday care aparține lunii precedente. Dar dacă primul Monday nu este egal cu 0, asta înseamnă că ziua mea de audit va fi în săptămâna unu. În caz contrar, dacă acesta este 0, atunci primul Monday 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 Monday reprezentată de Săptămâna a doua. Deci, ziua auditului va reveni cu oricare ar fi ziua, fie pentru prima, fie pentru a doua săptămână.
Aici este codul complet
Python 2 Exemplu
import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
str = c.formatmonth(2025, 1, 0, 0)
print str
# Create an HTML formatted calendar
hc = calendar.HTMLCalendar(calendar.THURSDAY)
str = hc.formatmonth(2025, 1)
print str
# loop over the days of a month
# zeroes indicate that the day of the week is in a next month or overlapping month
for i in c.itermonthdays(2025, 4):
print i
# The calendar can give info based on local such a names of days and months (full and abbreviated forms)
for name in calendar.month_name:
print name
for day in calendar.day_name:
print day
# calculate days based on a rule: For instance an audit day on the second Monday of every month
# Figure out what days that would be for each month, we can use the script as shown here
for month in range(1, 13):
# It retrieves a list of weeks that represent the month
mycal = calendar.monthcalendar(2025, month)
# The first MONDAY has to be within the first two weeks
week1 = mycal[0]
week2 = mycal[1]
if week1[calendar.MONDAY] != 0:
auditday = week1[calendar.MONDAY]
else:
# if the first MONDAY isn't in the first week, it must be in the second week
auditday = week2[calendar.MONDAY]
print "%10s %2d" % (calendar.month_name[month], auditday)
Python 3 Exemplu
import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
str = c.formatmonth(2025, 1, 0, 0)
print(str)
# Create an HTML formatted calendar
hc = calendar.HTMLCalendar(calendar.THURSDAY)
str = hc.formatmonth(2025, 1)
print(str)
# loop over the days of a month
# zeroes indicate that the day of the week is in a next month or overlapping month
for i in c.itermonthdays(2025, 4):
print(i)
# The calendar can give info based on local such a names of days and months (full and abbreviated forms)
for name in calendar.month_name:
print(name)
for day in calendar.day_name:
print(day)
# calculate days based on a rule: For instance an audit day on the second Monday of every month
# Figure out what days that would be for each month, we can use the script as shown here
for month in range(1, 13):
# It retrieves a list of weeks that represent the month
mycal = calendar.monthcalendar(2025, month)
# The first MONDAY has to be within the first two weeks
week1 = mycal[0]
week2 = mycal[1]
if week1[calendar.MONDAY] != 0:
auditday = week1[calendar.MONDAY]
else:
# if the first MONDAY isn't in the first week, it must be in the second week
auditday = week2[calendar.MONDAY]
print("%10s %2d" % (calendar.month_name[month], auditday))
Rezumat
- In Python, puteți formata calendarul așa cum doriți, deoarece puteți modifica ziua lunii pentru a începe
- Imprimați calendarul în format HTML
- Preluați datele din sistemul local, cum ar fi luni sau zile lucrătoare
- Preluați lista zilei specifice pentru un an întreg







