Vodič za Python KALENDAR s primjerom

Anonim

Modul Kalendar u Pythonu ima klasu kalendara koja omogućuje izračune za različite zadatke na temelju datuma, mjeseca i godine. Povrh toga, klasa TextCalendar i HTMLCalendar u Pythonu omogućuje vam uređivanje kalendara i upotrebu prema vašim zahtjevima.

Pogledajmo što možemo učiniti s Python kalendarom.

Korak1) Pokrenite kôd.

  • Redak koda # 1: Počinjemo s "uvoznim kalendarom" koji će uvesti sve klase ovog modula.
  • Redak broj 3: c = kalendar.TextCalendar (kalendar.SUNDAY) govori tumaču da kreira tekstualni kalendar. Početak mjeseca bit će u nedjelju. U Pythonu kalendar možete formatirati jer za početak možete promijeniti dan u mjesecu
  • Linija koda # 4: str = c.formatmonth (2025,1) Izrađujemo kalendar za 2025. godinu, 1. mjesec - siječanj
  • Redak broj 5: print str ispisat će izlaz.

Promijenimo brzo vrijednost od nedjelje do četvrtka i provjerimo izlaz

Korak 2) Također možete ispisati Kalendar u HTML formatu, ova je značajka korisna za programere ako žele napraviti bilo kakve promjene u izgledu i stilu kalendara

Korak 3) Petlje tijekom dana u mjesecu pomoću c.itermonthday (2025,4), dohvatit će ukupan broj dana za taj mjesec.

  • Kada izvršite kôd da biste dobili ukupan broj dana za određeni mjesec, recite "travanj", tada ćete dobiti 30 dana u izlazu, ali vidjet ćete i neke nule zajedno s tim danima na početku, a ponekad i na kraju. .
  • Nule u izlazu znače da je dan u tjednu u mjesecu koji se preklapa, što znači da ne pripada tom mjesecu.
  • Ove nula pojavljuje u izlaz, jer u kodu koji ste spomenuli dan (četvrtak), tako da kada se poziva funkcija „c.itermonthdays”, ona će početi brojanje dana od četvrtka i vaše četvrtak ne može početi s datumom 1. st travnja to bi moglo biti 28 -og ili 29 -og ožujka, pa kada izvršavanje koda će početi brojanje dana od 28. -og ožujka, a bilo dana da do 1. st travnja. Ovi dani će se računati kao nula, a u izlazu ćete vidjeti te nule, a vrijedi i za kraj mjeseca.
  • Dakle, osim datuma 1-30, svi datumi iz prethodnog, kao i post mjeseca, pojavit će se u izlazu kao nule.

Korak 4) Možete dohvatiti podatke iz lokalnog sustava, kao što su mjeseci ili radni dani itd

  • Izlaz ovdje pokazuje da smo ispisali naziv mjeseca iz lokalnog sustava. Isto tako, možete dohvatiti i naziv radnog dana, kao što je prikazano u nastavku
  • Izlaz će ovisiti o lokalnom sustavu, pretpostavimo da ako je vaš lokalni sustav neke druge zemlje, tada će dati izlaz prema lokalnim postavkama te zemlje. Ovdje imamo mjeseci pa neće biti razlike, ali ako je tjedan ili dan, sigurno će se razlikovati.

Korak 5) Možete dohvatiti popis određenog dana tijekom cijele godine. Na primjer, postoji dan revizije svakog prvog ponedjeljka u tjednu. Želite znati datum prvog ponedjeljka za svaki mjesec. Možete koristiti ovaj kod

  • mycal = calendar.monthcalendar (2025, mjesec) stvorit će kalendar za mjesec
  • Postavite varijable week1 i week2 na Prvi i drugi tjedan kalendara
  • Provjerite sadrži li 1. tjedan ponedjeljak, postavite dan revizije
  • Inače je dan revizije odredio kao prvi ponedjeljak u 2. tjednu
  • Rezultat prikazuje datum prvog ponedjeljka koji pada u tom mjesecu.
  • Duljina ovog Cal objekta bit će određena duljina, ovisno o tome koliko tjedana postoji u mjesecu. U našem će slučaju to biti jedan ili dva, jer će takav prvi ponedjeljak u tjednu biti prvi tjedan, ali ako ne, onda uzmite u obzir drugi tjedan. Pogledajmo detaljno zašto uzimamo u obzir i drugi tjedan.
  • Ovdje koristimo konstantni kalendar kalendara, objekt kalendara daje vam konstante koje predstavljaju nedjelju, ponedjeljak, utorak, itd., Pa nadalje. Ovo smo već vidjeli. Dakle, ako u prvom tjednu dan predstavljen konstantom ponedjeljka nije jednak 0, sjetite se da nule znače dane koji pripadaju drugom mjesecu. Dakle, u ovom slučaju, ako je nula, bit će to ponedjeljak koji pripada prethodnom mjesecu. Ali ako prvi ponedjeljak nije jednak 0, to znači da će moj dan revizije biti unutar tjedna. Inače, ako je to 0, tada prvi ponedjeljak nije u prvom tjednu u mjesecu, već u drugom.
  • Pa, onda kažem u redu, postavi varijablu dana revizije na ponedjeljak koji predstavlja drugi tjedan. Dakle, dan revizije vratit će se s bilo kojim danom bilo za prvi ili drugi tjedan.

Evo kompletnog koda

Primjer Pythona 2

kalendar uvoza# Stvorite kalendar s običnim tekstomc = kalendar.TextCalendar (kalendar.ČETVRTAK)str = c.formatmonth (2025, 1, 0, 0)ispis str# Stvorite HTML formatirani kalendarhc = kalendar.HTMLCalendar (kalendar.ČETVRTAK)str = hc.formatmonth (2025, 1)ispis str# petlja tijekom dana u mjesecu# nule označavaju da je dan u tjednu u sljedećem mjesecu ili u mjesecu koji se preklapaza i u c.itermonthdays (2025, 4):ispisati i# Kalendar može davati informacije na temelju lokalnih, kao što su nazivi dana i mjeseci (puni i skraćeni obrasci)za ime u kalendaru.ime_mjeseca:Naziv ispisaza dan u kalendaru.dan_ime:dan tiska# izračunajte dane na temelju pravila: Na primjer, dan revizije drugog ponedjeljka u mjesecu# Otkrijte koji bi to bili dani za svaki mjesec, možemo koristiti skriptu kao što je ovdje prikazanoza mjesec u rasponu (1, 13):# Dohvaća popis tjedana koji predstavljaju mjesecmycal = calendar.monthcalendar (2025, mjesec)# Prvi PONEDJELJAK mora biti unutar prva dva tjednaweek1 = mycal [0]week2 = mycal [1]ako je tjedan1 [kalendar.PONJEDNIK]! = 0:auditday = tjedan1 [kalendar.PONJEDNICA]drugo:# ako prvi PONEDJELJAK nije u prvom tjednu, to mora biti u drugom tjednuauditday = tjedan2 [kalendar.MONDAY]ispis "% 10s% 2d"% (calendar.month_name [month], auditday)

Primjer Pythona 3

kalendar uvoza# Stvorite kalendar s običnim tekstomc = kalendar.TextCalendar (kalendar.ČETVRTAK)str = c.formatmonth (2025, 1, 0, 0)ispis (str)# Stvorite HTML formatirani kalendarhc = kalendar.HTMLCalendar (kalendar.ČETVRTAK)str = hc.formatmonth (2025, 1)ispis (str)# petlja tijekom dana u mjesecu# nule označavaju da je dan u tjednu u sljedećem mjesecu ili u mjesecu koji se preklapaza i u c.itermonthdays (2025, 4):ispis (i)# Kalendar može davati informacije na temelju lokalnih, kao što su nazivi dana i mjeseci (puni i skraćeni obrasci)za ime u kalendaru.ime_mjeseca:Naziv ispisa)za dan u kalendaru.dan_ime:ispis (dan)# izračunajte dane na temelju pravila: Na primjer, dan revizije drugog ponedjeljka u mjesecu# Otkrijte koji bi to bili dani za svaki mjesec, možemo koristiti skriptu kao što je ovdje prikazanoza mjesec u rasponu (1, 13):# Dohvaća popis tjedana koji predstavljaju mjesecmycal = calendar.monthcalendar (2025, mjesec)# Prvi PONEDJELJAK mora biti unutar prva dva tjednaweek1 = mycal [0]week2 = mycal [1]ako je tjedan1 [kalendar.PONJEDNIK]! = 0:auditday = tjedan1 [kalendar.PONJEDNICA]drugo:# ako prvi PONEDJELJAK nije u prvom tjednu, to mora biti u drugom tjednuauditday = tjedan2 [kalendar.MONDAY]ispis ("% 10s% 2d"% (calendar.month_name [month], auditday))

Sažetak:

  • U Pythonu kalendar možete oblikovati onako kako želite, jer možete promijeniti dan u mjesecu za početak
  • Ispišite Kalendar u HTML formatu
  • Dohvatite podatke iz lokalnog sustava, poput mjeseci ili radnih dana
  • Dohvatite popis određenog dana za cijelu godinu