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.

  • 🔘 Kétféle naptártípus: A TextCalendar és a HTMLCalendar osztályok egyszerű szöveges és webre kész naptárakat hoznak létre egy kiválasztott hónapra vagy évre.
  • ☑️ Első hétköznap: Az olyan konstansok, mint a calendar.SUNDAY és a setfirstweekday() metódus, megváltoztatják, hogy az egyes heteken melyik nap kezdődik.
  • ✅ Napok ismétlése: Az itermonthdays() metódus egy hónapon keresztül ciklikusan fut, és a jelek átfedik egymást.ping a szomszédos hónapok napjait nullákként.
  • 🧪 Segédfüggvények: Az olyan függvények, mint az isleap(), a weekday() és a monthrange() további könyvtárak nélkül válaszolnak meg a gyakori dátumkérdésekre.
  • 🇧🇷 Standard könyvtár: A naptár modul a következővel érkezik: Python, így nincs szükség telepítésre az importálás és használat előtt.
  • 🤖 AI munkafolyamatok: A gépi tanulási folyamatok olyan naptárfunkciókat származtatnak, mint a hétköznapok és a szökőévek jelölői az idősoros előrejelzésekhez.

Python Naptár modul

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.

Szöveges naptár nyomtatása Python

  • 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.

A munkanap első napjának módosítása Python naptár

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.

HTML naptár nyomtatása Python

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.

Végigmegy egy hónap napjain Python

  • 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.

Hónapnevek lekérése a helyi rendszerből itt: Python

  • 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.

A hét napjainak neveinek lekérése a helyi rendszerből Python

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.

Keressen egy adott napot az egész évre vonatkozóan Python

  • 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.

GYIK

A naptár modul naptárak létrehozására és elemzésére összpontosít – szöveges, HTML-, hétköznapi számok és szökőév-ellenőrzések formájában. A dátum/idő modul az egyes dátumok és időpontok időbélyegeit, aritmetikai és formázási műveleteit kezeli. Sok program importálja mindkettőt, és együtt használja őket.

Hívja meg a calendar.weekday(év, hónap, nap) függvényt. Visszaad egy 0-tól kezdődő egész számot (Monday) 6-ra (vasárnap). Párosítsa a calendar.day_name függvénnyel, hogy a számot olvasható címkévé alakítsa, például Monday vagy pénteken.

Használd a calendar.monthrange(year, month) függvényt. Ez egy olyan tuple-t ad vissza, amelynek második értéke a napok száma, tehát a calendar.monthrange(2025, 2)[1] 28-at ad vissza. Az első érték az adott hónap első napjának a hétköznapja.

Használd a calendar.LocaleTextCalendar vagy a calendar.LocaleHTMLCalendar függvényt, és adj meg egy területi beállítást, például a „fr_FR”. A formázott hónap ezután kinyomtatja a hét napjainak és hónapjainak nevét az adott nyelven, feltéve, hogy a területi beállítás telepítve van az operációs rendszeren.

Generáld a jelölőkódot a HTMLCalendar().formatmonth(2025, 1) függvénnyel, majd nyisson meg egy fájlt írási módban, és hívja meg a write() függvényt ezzel a karakterlánccal. Ha .html kiterjesztéssel menti el, bármely böngésző megjelenítheti a formázott naptárat.

Alapértelmezés szerint a hét ekkor kezdődik: Monday, az európai konvenciót követve. Hívja meg a calendar.setfirstweekday(calendar.SUNDAY) függvényt, vagy adjon át egy konstanst, például a calendar.SUNDAY-t egy TextCalendar-nek, hogy a hét egy másik nappal kezdődjön.

Az adatfolyamatok naptárfüggvényeket használnak olyan jellemzők kinyerésére a nyers dátumokból, mint a hét napja, a hét száma és a szökőév jelzői. Ezek a tervezett naptárfunkciók segítenek a gépi tanulási modelleknek a heti és szezonális minták rögzítésében az idősoros előrejelzésekben.

Igen. A GitHub Copilot és az ügynöki mesterséges intelligencia asszisztensek egy rövid megjegyzésből naptármodul-kódrészleteket írhatnak – hónapokat nyomtathatnak, szökőéveket ellenőrizhetnek vagy HTML-naptárat építhetnek. RevTekintse meg a kimenetet, mivel a hétköznapi indexelés és az első napi beállítások könnyen összekeverhetők.

Foglald össze ezt a bejegyzést a következőképpen: