Python naptár modul példával
⚡ Okos összefoglaló
A naptár modul a Python szöveges és HTML naptárakat generál a TextCalendar és HTMLCalendar osztályok használatával. Dátumszámításokat végez a nap, hónap és év alapján, és lehetővé teszi bármely hónap kezdőnapjának testreszabását.
Az naptár modul a Python rendelkezik egy naptár osztállyal, amely lehetővé teszi a dátum, hónap és év alapján történő számításokat különféle feladatokhoz. Ráadásul a TextCalendar és a HTMLCalendar osztályok Python szerkesztheted a naptárat, és az igényeid szerint használhatod. Lássuk, mit tehetünk a Python naptár.
Mi a naptár modul? Python?
Az naptár modul egyike a népszerű Python standard könyvtár, így telepítés nélkül is elérhető. Több osztályt és segédfüggvényt csoportosít, amelyek naptárakat építenek, és gyakori dátumkérdésekre adnak választ, például arra, hogy egy dátum melyik hét napjára esik, vagy hogy egy hónap hány napot tartalmaz.
A modul öt fő osztályt kínál:
- Naptár egy alap osztály, amely biztosítja azokat az adatokat, amelyekből a többi naptár épül fel.
- TextCalendar egyszerű szöveges naptárakat készít egy hónapra vagy egy egész évre.
- HTMLCalendar HTML-táblázatokként készít naptárakat weboldalakhoz.
- NyelvSzövegNaptár egy szöveges naptár, amely a kiválasztott területi beállítás nap- és hónapneveit használja.
- NyelvbeállításHTMLCalendar a HTML megfelelője, amely figyelembe veszi a kiválasztott területi beállítást.
Alapértelmezés szerint a naptári hét ekkor kezdődik: Monday, az európai konvenciót követve. Az első napot egy konstans, például a calendar.SUNDAY használatával módosíthatja, ahogy az az alábbi példákban látható.
Hogyan nyomtathat szöveges naptárat? Python
Step 1) Futtassa a kódot.
- Code 1. sor: Az „import calendar” paranccsal kezdjük, amely importálja a modul összes osztályát.
- Code 3. sor: A c= calendar.TextCalendar(calendar.SUNDAY) függvény arra utasítja az értelmezőt, hogy hozzon létre egy szöveges naptárat. A hónap kezdete vasárnap lesz. Python, tetszés szerint formázhatja a naptárat, és módosíthatja a hónap kezdőnapját.
- Code 4. sor: A str= c.formatmonth(2025,1) függvény létrehoz egy naptárat a 2025-ös év 1. hónapjától januárig.
- Code 5. sor: a print str parancs kinyomtatja a kimenetet.
Váltsuk át gyorsan a vasárnapi értéket csütörtökre, és ellenőrizzük a kimenetet.
Hogyan nyomtathatok HTML naptárat? Python
Step 2) A naptárat HTML formátumban is kinyomtathatja. Ez a funkció hasznos azoknak a fejlesztőknek, akik módosítani szeretnék a naptár megjelenését.
Hogyan lehet átugrani egy hónap napjait
Step 3) Loops egy hónap napjaira vonatkozóan a c.itermonthdays (2025,4) használatával; ez a hónap napjainak teljes számát adja vissza.
- Amikor egy adott hónap, mondjuk az „április” napjainak teljes számát lekérő kódot futtatsz, 30 napot fogsz kapni a kimeneten, de ezek mellett néhány nullát is látni fogsz az elején, és néha a végén.
- A kimenetben lévő nullák azt jelentik, hogy a hét napja átfedésben van.ping hónap, ami azt jelenti, hogy nem tartozik ahhoz a hónaphoz.
- Ezek a nullák azért jelennek meg a kimenetben, mert a kódodban megemlítettél egy napot (csütörtök). Tehát amikor meghívod a „c.itermonthdays” függvényt, a napok számolása csütörtöktől kezdődik, és a csütörtököd nem feltétlenül április 1-jén kezdődik – hanem március 28-án vagy 29-én. Tehát a kód március 28-tól és az azt követő napoktól április 1-jéig kezdi a napok számolását. Ezeket a napokat nulláknak számítja a rendszer, és a kimeneten ezeket a nullákat fogod látni. Ugyanez vonatkozik a hónap végére is.
- Tehát az 1–30. dátumok kivételével az előző és a következő hónap összes dátuma nullaként jelenik meg a kimenetben.
Hogyan lehet lekérni a hónapok és a hét napjainak nevét a helyi rendszerből
Step 4) A helyi rendszerből kérhet le adatokat, például hónapokat vagy hétköznapokat.
- A kimenet itt azt mutatja, hogy kinyomtattuk a hónapok nevét a helyi rendszerből. Hasonlóképpen, a hét napjainak nevét is lekérhetjük, ahogy az alább látható.
- A kimenet a helyi rendszertől függ. Ha a helyi rendszer egy másik országra van beállítva, akkor az adott ország helyi beállításainak megfelelő kimenetet ad. Itt hónapokról van szó, tehát ez nem fog különbséget jelenteni, de egy hét vagy egy nap esetében mindenképpen eltérő lesz.
Hogyan találjunk egy adott napot az egész évre
Step 5) Lekérheti egy adott nap listáját egy egész évre vonatkozóan. Például minden év első napján van egy auditnap. Monday egy hét. Tegyük fel, hogy tudni szeretnéd az első nap dátumát Monday minden hónapra. Használhatja ezt a kódot.
- A mycal = calendar.monthcalendar(2025, month) függvény létrehoz egy naptárat a hónaphoz.
- Állítsd be a week1 és week2 változókat a naptár első és második hetére.
- Ellenőrizd, hogy az 1. hét tartalmaz-e Monday és tűzze ki az audit napját.
- Egyébként állítsa be az audit napját elsőként Monday a 2. héten.
- A kimenet az első dátumát mutatja Monday ami arra a hónapra esik.
- Ennek a Cal objektumnak a hossza attól függ, hogy hány hét van a hónapban. Esetünkben egy vagy kettő, mivel az első Monday A hét eseménye leggyakrabban az első héten van, de ha nem, akkor a második hetet vesszük figyelembe. Nézzük meg részletesen, hogy miért vesszük figyelembe a második hetet is.
- Itt a naptárállandót használjuk MondayA naptár objektum konstansokat ad meg, amelyek a vasárnapot jelölik, Monday, kedd, és így tovább. Ha az első héten a nap, amelyet a Monday konstans nem egyenlő 0-val – ne feledjük, a nullák egy másik hónaphoz tartozó napokat jelentenek –, akkor az Monday ehhez a hónaphoz tartozik, és az audit napja az első héten belül van. Ha 0, akkor az első Monday nem a hónap első hetében van, tehát a másodikban kell lennie.
- Ebben az esetben az auditnap változót a következőre állítjuk be: Monday a második hét képviseli. Az auditnap az első vagy a második hét napjával tér vissza.
teljes Python Naptár Code Példa
Itt a teljes kód.
Python 2 Példa
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 Példa
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))
Hasznos funkciók a Python naptár modul
A fenti útmutatón kívül a naptár modul számos hasznos funkcióval rendelkezik, amelyek osztálypéldány létrehozása nélkül is működnek:
- naptár.naptár(év) egy teljes éves naptárat ad vissza többsoros karakterláncként, míg naptár.prcal(év) közvetlenül kinyomtatja.
- naptár.hónap(év, hónap) egyetlen hónapot ad vissza szövegként, és naptár.prmonth(év, hónap) kinyomtatja.
- naptár.hónapnaptár(év, hónap) a hónapot hetek sorainak listájaként adja vissza, ahol minden nap egész szám, a hónapon kívüli napok pedig 0.
Ezek a függvények gyors, egysoros naptárkimenetet tesznek lehetővé, ami kényelmes szkriptekben és interaktív munkamenetekben, ahol nincs szükség a TextCalendar vagy HTMLCalendar osztályok extra vezérlésére.
Hogyan ellenőrizhető a szökőév? Python
A naptár modul azt is meg tudja mondani, hogy egy év szökőév-e, ami azért fontos, mert az ilyen években a február 29 napos a 28 helyett. Két függvény kezeli ezt:
- naptár.isleap(év) Igaz értéket ad vissza, ha szökőév, egyébként pedig Hamis értéket.
- naptár.szökőnapok(y1, y2) Az y1-től y2-ig terjedő tartományban lévő szökőévek számát adja vissza, az y2-t nem számítva.
Például a calendar.isleap(2024) függvény True (igaz) értéket ad vissza, míg a calendar.isleap(2025) hamis (hamis) értéket. A szökőév-ellenőrzések hasznosak dátumok érvényesítéséhez, ismétlődő események ütemezéséhez, vagy két év közötti napok pontos számának kiszámításához.








