Modul kalendára v Pythone má triedu kalendára, ktorá umožňuje výpočty pre rôzne úlohy založené na dátume, mesiaci a roku. Okrem toho vám triedy TextCalendar a HTMLCalendar v Pythone umožňujú upravovať kalendár a používať ho podľa vašich požiadaviek.
Pozrime sa, čo môžeme urobiť s Python Calendar.
Krok 1) Spustite kód.
- Riadok kódu 1: Začíname s „importovacím kalendárom“, ktorý importuje všetky triedy tohto modulu.
- 3. riadok kódu: c = calendar.TextCalendar (calendar.SUNDAY) hovorí tlmočníkovi, aby vytvoril textový kalendár. Začiatkom mesiaca bude nedeľa. V Pythone môžete kalendár formátovať, pretože môžete najskôr zmeniť deň v mesiaci
- 4. riadok kódu: str = c.formatmonth (2025,1) Vytvárame kalendár na rok 2025, 1. mesiac - január
- Riadok kódu č. 5: print str vytlačí výstup.
Rýchlo zmeňme hodnotu z nedele na štvrtok a skontrolujme výstup
Krok 2) Môžete si tiež vytlačiť kalendár vo formáte HTML, táto funkcia je užitočná pre vývojárov, ak chcú urobiť nejaké zmeny vo vzhľade a vzhľade kalendára
Krok 3) Slučky počas dní mesiaca pomocou c.itermonthday (2025,4), načíta celkový počet dní pre daný mesiac.
- Keď spustíte kód, aby ste získali celkový počet dní za konkrétny mesiac, povedzte „apríl“, dostanete na výstupe 30 dní, ale spolu s týmito dňami uvidíte aj niektoré nuly na začiatku a niekedy aj na jeho konci .
- Nula vo výstupe znamená, že deň v týždni je v prekrývajúcom sa mesiaci, čo znamená, že do daného mesiaca nepatrí.
- Tieto nuly sa objavujú vo výstupe, pretože vo vašom kóde ste uviedli deň (štvrtok), takže keď zavoláte funkciu „c.itermonthdays“, začne počítať dni od štvrtka a váš štvrtok nemusí začínať dátumom 1. apríla, môže bolo 28 th a 29 th marca, takže pri spúšťaní kódu začne počítanie dní od 28 th pochodu a dni, po ktorej sa do 1. st apríla. Tieto dni sa budú počítať ako nula a na výstupe uvidíte tieto nuly. To isté platí pre koniec mesiaca.
- Takže okrem dátumu 1-30 sa všetky dátumy z predchádzajúceho aj z nasledujúceho mesiaca zobrazia vo výstupe ako nuly.
Krok 4) Môžete načítať údaje z miestneho systému, napríklad mesiace alebo všedné dni atď
- Výstup tu ukazuje, že sme vytlačili názov mesiaca z miestneho systému. Rovnako môžete tiež načítať názov týždňa, ako je uvedené nižšie
- Výstup bude závisieť od miestneho systému. Predpokladajme, že ak je váš miestny systém v niektorých iných krajinách, bude poskytovať výstup podľa miestnych nastavení danej krajiny. Máme tu mesiace, takže to nebude žiadny rozdiel, ale ak je týždeň alebo deň, bude sa to určite líšiť.
Krok 5) Môžete načítať zoznam konkrétneho dňa za celý rok. Napríklad každý prvý pondelok v týždni sa koná deň auditu. Chcete vedieť dátum prvého pondelka pre každý mesiac. Môžete použiť tento kód
- mycal = calendar.monthcalendar (2025, mesiac) vytvorí kalendár pre mesiac
- Nastaviť premenné týždeň1 a týždeň2 na prvý a druhý týždeň kalendára
- Skontrolujte, či 1. týždeň obsahuje pondelok, nastavte deň auditu
- Inak nastavte deň auditu ako prvý pondelok v 2. týždni
- Výstup zobrazuje dátum prvého pondelka, ktorý pripadne na daný mesiac.
- Dĺžka tohto objektu Cal bude určitá dĺžka, podľa toho, koľko týždňov v mesiaci bude. V našom prípade to bude jeden alebo dva, prvý pondelok v týždni bude prvý týždeň najčastejšie, ale ak nie, potom zvážte druhý týždeň. Pozrime sa podrobne, prečo uvažujeme aj o druhom týždni.
- Tu používame konštantný pondelok v kalendári, objekt kalendára vám dáva konštanty, ktoré reprezentujú nedeľu, pondelok, utorok atď. Tieto sme už videli. Takže ak sa v prvom týždni deň predstavovaný pondelkovou konštantou nerovná 0, nezabudnite, že nuly znamenajú dni, ktoré patria inému mesiacu. Takže v tomto prípade, ak je nula, bude to pondelok, ktorý patrí predchádzajúcemu mesiacu. Ak sa ale prvý pondelok nerovná 0, znamená to, že môj deň auditu bude v rámci prvého týždňa. V opačnom prípade, ak je to 0, potom prvý pondelok nie je prvý týždeň v mesiaci, musí to byť druhý.
- Takže potom poviem dobre, nastavte moju premennú dňa auditu na pondelok predstavovaný druhým týždňom. Prvý deň auditu sa teda vráti s tým, čo je v prvý deň alebo druhý týždeň.
Tu je celý kód
Príklad v jazyku Python 2
importný kalendár# Vytvorte obyčajný textový kalendárc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)tlač str# Vytvorte kalendár vo formáte HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)tlač str# slučka počas dní v mesiaci# nuly znamenajú, že deň v týždni je v nasledujúcom alebo prekrývajúcom sa mesiacipre i v c. ďalšie dni (2025, 4):tlačiť i# Kalendár môže poskytovať informácie založené na miestnych názvoch dní a mesiacov (úplné a skrátené formuláre)pre meno v calendar.month_name:názov tlačepre deň v kalendári.deň_názov:tlačový deň# vypočítajte dni na základe pravidla: napríklad deň auditu druhý pondelok v mesiaci# Zistite, aké dni by to boli každý mesiac, a môžeme použiť nasledujúci skriptpre mesiac v rozsahu (1, 13):# Načíta zoznam týždňov, ktoré predstavujú mesiacmycal = calendar.monthcalendar (2025, mesiac)# Prvý PONDELOK musí byť v priebehu prvých dvoch týždňovtýždeň1 = mycal [0]týždeň2 = mycal [1]ak týždeň 1 [kalendár.MONDAY]! = 0:auditday = týždeň1 [kalendárny.MONDAY]inak:# ak prvý PONDELOK nie je prvý týždeň, musí to byť druhý týždeňauditday = 2. týždeň [kalendárny.MONDAY]vypísať "% 10s% 2d"% (calendar.month_name [mesiac], auditday)
Príklad v jazyku Python 3
importný kalendár# Vytvorte obyčajný textový kalendárc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)tlač (str)# Vytvorte kalendár vo formáte HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)tlač (str)# slučka počas dní v mesiaci# nuly znamenajú, že deň v týždni je v nasledujúcom alebo prekrývajúcom sa mesiacipre i v c. ďalšie dni (2025, 4):tlač (i)# Kalendár môže poskytovať informácie založené na miestnych názvoch dní a mesiacov (úplné a skrátené formuláre)pre meno v calendar.month_name:tlač (meno)pre deň v kalendári.deň_názov:tlač (deň)# vypočítajte dni na základe pravidla: napríklad deň auditu druhý pondelok v mesiaci# Zistite, aké dni by to boli každý mesiac, a môžeme použiť nasledujúci skriptpre mesiac v rozsahu (1, 13):# Načíta zoznam týždňov, ktoré predstavujú mesiacmycal = calendar.monthcalendar (2025, mesiac)# Prvý PONDELOK musí byť v priebehu prvých dvoch týždňovtýždeň1 = mycal [0]týždeň2 = mycal [1]ak týždeň 1 [kalendár.MONDAY]! = 0:auditday = týždeň1 [kalendárny.MONDAY]inak:# ak prvý PONDELOK nie je prvý týždeň, musí to byť druhý týždeňauditday = 2. týždeň [kalendárny.MONDAY]print ("% 10s% 2d"% (calendar.month_name [mesiac], auditday))
Zhrnutie:
- V Pythone môžete kalendár formátovať tak, ako chcete, pretože môžete zmeniť deň v mesiaci, ktorý sa má začať
- Vytlačte si kalendár vo formáte HTML
- Načítajte údaje z miestneho systému, napríklad mesiace alebo pracovné dni
- Načítajte zoznam konkrétneho dňa pre celý rok