Python KALENDÁŘ Výukový program s příkladem

Modul kalendáře v Python má třídu kalendáře, která umožňuje výpočty pro různé úkoly na základě data, měsíce a roku. Kromě toho jsou zde třídy TextCalendar a HTMLCalendar Python umožňuje upravovat kalendář a používat jej podle vašich požadavků.

Uvidíme, s čím se dá dělat Python Kalendář.

Krok 1) Spusťte kód.

KALENDÁŘ v Python

  • Řádek kódu č. 1: Začneme „importovat kalendář“, který naimportuje všechny třídy tohoto modulu.
  • Řádek kódu č. 3: c= calendar.TextCalendar(calendar.SUNDAY) říká interpretovi, aby vytvořil textový kalendář. Začátek měsíce bude neděle. V Python, můžete formátovat kalendář tak, že můžete změnit den v měsíci
  • Řádek kódu č. 4: str= c.formatmonth(2025,1) Vytváříme kalendář na rok 2025, 1. měsíc – leden
  • Řádek kódu č. 5: print str vytiskne výstup.

Pojďme rychle změnit hodnotu z neděle na čtvrtek a zkontrolovat výstup

KALENDÁŘ v Python

Krok 2) Kalendář můžete také vytisknout ve formátu HTML, tato funkce je užitečná pro vývojáře, pokud chtějí provést jakékoli změny ve vzhledu a chování kalendáře

KALENDÁŘ v Python

Krok 3) Smyčky za dny v měsíci pomocí c.itermonthday (2025,4) načte celkový počet dní pro daný měsíc.

KALENDÁŘ v Python

  • Když spustíte kód, abyste získali celkový počet dní pro konkrétní měsíc, řekněte „duben“, dostanete na výstupu 30 dní, ale na začátku a někdy na konci uvidíte také nějaké nuly spolu s těmito dny. .
  • Nuly ve výstupu znamenají, že den v týdnu je v překrývajícím se měsíci, což znamená, že do tohoto měsíce nepatří.
  • Tyto nuly se objeví ve výstupu, protože ve svém kódu jste uvedli den (čtvrtek), takže když zavoláte funkci „c.itermonthdays“, začne počítat dny od čtvrtka a váš čtvrtek nemusí začínat datem 1st dubna může být 28th nebo 29th března, takže když kód spustíte, začne počítat dny od 28th března a všechny následující dny do 1st dubna. Tyto dny se budou počítat jako nula a ve výstupu tyto nuly uvidíte a totéž platí pro konec měsíce.
  • Takže kromě data 1-30 se všechna data z předchozího i následujícího měsíce objeví ve výstupu jako nuly.

Krok 4) Můžete načíst data z místního systému, jako jsou měsíce nebo dny v týdnu atd

KALENDÁŘ v Python

  • Výstup zde ukazuje, že jsme vytiskli název měsíce z místního systému. Podobně můžete také načíst název dnů v týdnu, jak je uvedeno níže
  • Výstup bude záviset na místním systému, předpokládejme, že pokud je váš místní systém v nějaké jiné zemi, pak bude poskytovat výstup podle místního nastavení této země. Tady máme měsíce, takže to nebude rozdíl, ale jestli to bude týden nebo den, určitě se to bude lišit.

KALENDÁŘ v Python

Krok 5) Můžete načíst seznam konkrétního dne za celý rok. Například každý první je den auditu Monday týdne. Chcete znát datum prvního Monday za každý měsíc. Tento kód můžete použít

KALENDÁŘ v Python

  • mycal = calendar.monthcalendar(2025, měsíc) vytvoří kalendář pro daný měsíc
  • Nastavte proměnné week1 a week2 na první a druhý týden kalendáře
  • Zkontrolujte, zda týden 1 obsahuje Monday, nastavte den auditu
  • Jinak nastavte den auditu jako první Monday v týdnu 2
  • Výstup zobrazuje datum prvního Monday která spadá do toho měsíce.
  • Délka tohoto Cal objektu bude určitá délka podle toho, kolik týdnů v měsíci tam je. V našem případě to bude nejprve jedna nebo dvě Monday týdne bude nejčastěji v prvním týdnu, ale pokud ne, zvažte druhý týden. Podívejme se podrobně, proč uvažujeme také o druhém týdnu.
  • Zde používáme konstantu kalendáře Monday, objekt calendar vám dává konstanty, které představují neděli, Monday, úterý, tak dále, tak dále. Už jsme je viděli. Takže, pokud v týdnu jedna den reprezentovaný Monday konstanta není rovna 0, zapamatujte si, že nuly znamenají dny, které patří jinému měsíci. Takže v tomto případě, pokud je nula, bude to a Monday který patří k předchozímu měsíci. Ale pokud první Monday se nerovná 0, to znamená, že můj den auditu bude v prvním týdnu. V opačném případě, pokud je 0, pak první Monday není v prvním týdnu v měsíci, musí být ve druhém.
  • Takže, pak řeknu dobře, nastavte moji proměnnou dne auditu na hodnotu Monday zastoupená týdnem dva. Takže den auditu se vrátí s jakýmkoliv dnem prvního nebo druhého týdne.

Zde je úplný kód

Python 2 Příklad

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říklad

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))

Shrnutí

  • In Python, můžete kalendář naformátovat tak, jak chcete, protože můžete změnit den v měsíci
  • Vytiskněte si kalendář ve formátu HTML
  • Získejte data z místního systému, jako jsou měsíce nebo pracovní dny
  • Získejte seznam konkrétního dne za celý rok