Python CALENDAR Tutorial mit Beispiel
Das Kalendermodul in Python verfügt über die Kalenderklasse, die die Berechnungen für verschiedene Aufgaben basierend auf Datum, Monat und Jahr ermöglicht. Darüber hinaus können Sie mit den Klassen TextCalendar und HTMLCalendar in Python den Kalender bearbeiten und gemäß Ihren Anforderungen verwenden.
Mal sehen, was wir mit Python Calendar machen können.
Schritt 1) Führen Sie den Code aus.
- Codezeile Nr. 1:Wir beginnen mit „Kalender importieren“, wodurch alle Klassen dieses Moduls importiert werden.
- Codezeile Nr. 3:c=kalender.TextCalendar(calendar.SUNDAY) weist den Interpreter an, einen Textkalender zu erstellen. Monatsbeginn ist Sonntag. In Python können Sie den Kalender so formatieren, dass Sie den Tag des Monats zu Beginn ändern können
- Codezeile Nr. 4:str=c.formatmonth(2025,1) Wir erstellen einen Kalender für das Jahr 2025, Monat 1 – Januar
- Codezeile # 5:print str druckt die Ausgabe.
Lassen Sie uns schnell den Wert von Sonntag auf Donnerstag ändern und die Ausgabe überprüfen
Schritt 2) Sie können den Kalender auch im HTML-Format ausdrucken. Diese Funktion ist hilfreich für Entwickler, wenn sie Änderungen am Erscheinungsbild des Kalenders vornehmen möchten
Schritt 3) Durchläuft die Tage eines Monats mit c.itermonthday (2025,4) und ruft die Gesamtzahl der Tage für diesen Monat ab.
- Wenn Sie den Code ausführen, um die Gesamtzahl der Tage für einen bestimmten Monat zu erhalten, sagen Sie „April“, dann erhalten Sie 30 Tage in der Ausgabe, aber Sie sehen auch einige Nullen zusammen mit diesen Tagen am Anfang und manchmal am Ende Ende.
- Nullen in der Ausgabe bedeuten, dass der Wochentag in einem sich überschneidenden Monat liegt, was bedeutet, dass er nicht zu diesem Monat gehört.
- Diese Nullen erscheinen in der Ausgabe, weil Sie in Ihrem Code den Tag (Donnerstag) erwähnt haben. Wenn Sie also die Funktion „c.itermonthdays“ aufrufen, beginnt die Zählung der Tage ab Donnerstag und Ihr Donnerstag beginnt möglicherweise nicht mit dem Datum 1 st April könnte es der 28. sein oder 29 . März, wenn Sie also den Code ausführen, beginnt die Zählung der Tage ab dem 28. th März und alle Tage danach bis zum 1 st April. Diese Tage werden als Null gezählt und in der Ausgabe sehen Sie diese Nullen und das gleiche gilt für das Monatsende.
- Also außer dem Datum 1-30 werden alle Daten aus dem vorherigen sowie nach dem Monat in der Ausgabe als Nullen erscheinen.
Schritt 4) Sie können die Daten aus dem lokalen System abrufen, wie Monate oder Wochentage usw.
- Die Ausgabe hier drüben zeigt, dass wir den Monatsnamen aus dem lokalen System ausgedruckt haben. Ebenso können Sie auch den Namen der Wochentage wie unten gezeigt abrufen
- Die Ausgabe hängt vom lokalen System ab. Angenommen, Ihr lokales System ist ein anderes Land, dann wird die Ausgabe gemäß den lokalen Einstellungen dieses Landes ausgegeben. Hier haben wir Monate, also wird es keinen Unterschied machen, aber wenn es eine Woche oder ein Tag ist, wird es sicherlich anders sein.
Schritt 5) Sie können die Liste des bestimmten Tages für ein ganzes Jahr abrufen. So findet beispielsweise an jedem ersten Montag einer Woche ein Prüfungstag statt. Sie möchten das Datum des ersten Montags für jeden Monat wissen. Sie können diesen Code verwenden
- mycal =Calendar.monthcalendar(2025, Monat) erstellt Kalender für den Monat
- Setzen Sie die Variablen week1 und week2 auf die erste und zweite Woche des Kalenders
- Überprüfen Sie, ob Woche 1 den Montag enthält, legen Sie den Prüfungstag fest
- Andernfalls legen Sie den ersten Montag in Woche 2 als Audit-Tag fest
- Die Ausgabe zeigt das Datum für den ersten Montag, der in diesen Monat fällt.
- Die Länge dieses Cal-Objekts wird eine bestimmte Länge haben, basierend darauf, wie viele Wochen es im Monat gibt. In unserem Fall werden es ein oder zwei sein, da dieser erste Montag der Woche am häufigsten in der ersten Woche ist, aber wenn nicht, dann ziehen Sie die zweite Woche in Betracht. Mal sehen, warum wir auch die zweite Woche berücksichtigen.
- Hier verwenden wir die Konstante Montag des Kalenders, das Kalenderobjekt gibt Ihnen Konstanten, die Sonntag, Montag, Dienstag usw. darstellen. Wir haben diese zuvor gesehen. Wenn also in der ersten Woche der Tag, der durch die Konstante Montag dargestellt wird, nicht gleich 0 ist, denken Sie daran, dass Nullen Tage bedeuten, die zu einem anderen Monat gehören. Also in diesem Fall, wenn es Null ist, wird es ein Montag sein, der zum Vormonat gehört. Aber wenn der erste Montag ungleich 0 ist, bedeutet das, dass mein Prüfungstag innerhalb der ersten Woche liegt. Andernfalls, wenn das 0 ist, dann liegt der erste Montag nicht in der ersten Woche des Monats, sondern in der zweiten.
- Also, dann sage ich okay, setze meine Variable für den Prüfungstag auf den Montag, der durch die zweite Woche repräsentiert wird. Der Audit-Tag wird also mit dem Tag für die erste oder zweite Woche zurückkehren.
Hier ist der vollständige Code
Python 2-Beispiel
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-Beispiel
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))
Zusammenfassung:
- In Python können Sie den Kalender so formatieren, wie Sie es möchten, da Sie den Anfangstag des Monats ändern können
- Kalender im HTML-Format ausdrucken
- Holen Sie die Daten aus dem lokalen System, wie Monate oder Wochentage
- Rufen Sie die Liste des bestimmten Tages für ein ganzes Jahr ab
Python
- C# Abstract Class Tutorial mit Beispiel:Was ist Abstraktion?
- Python String strip() Funktion mit BEISPIEL
- Python String count() mit BEISPIELE
- Python-Funktion round() mit BEISPIELE
- Python map() Funktion mit BEISPIELE
- Python Timeit() mit Beispielen
- Yield in Python Tutorial:Generator &Yield vs. Return Beispiel
- Python-Zähler in Sammlungen mit Beispiel
- Python List count() mit BEISPIELE
- Python List index() mit Beispiel