Python CALENDAR Tutorial mit Beispiel

Anonim

Das Kalendermodul in Python verfügt über die Kalenderklasse, mit der Berechnungen für verschiedene Aufgaben basierend auf Datum, Monat und Jahr durchgeführt werden können. Darüber hinaus können Sie mit der TextCalendar- und HTMLCalendar-Klasse 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 1: Wir beginnen mit "Kalender importieren", der alle Klassen dieses Moduls importiert.
  • Codezeile 3: c = calendar.TextCalendar (calendar.SUNDAY) weist den Interpreter an, einen Textkalender zu erstellen. Anfang des Monats ist Sonntag. In Python können Sie den Kalender so formatieren, dass Sie zunächst den Tag des Monats ändern können
  • Codezeile Nr. 4: str = c.formatmonth (2025,1) Wir erstellen einen Kalender für das Jahr 2025, Monat 1 - Januar
  • Codezeile Nr. 5: print str druckt die Ausgabe.

Lassen Sie uns den Wert schnell 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 für Entwickler hilfreich, wenn sie Änderungen am Erscheinungsbild des Kalenders vornehmen möchten

Schritt 3) Durch Schleifen über die Tage eines Monats unter Verwendung von c.itermonthday (2025,4) wird die Gesamtzahl der Tage für diesen Monat abgerufen.

  • Wenn Sie den Code ausführen, um die Gesamtzahl der Tage für einen bestimmten Monat zu ermitteln, z. B. "April", erhalten Sie 30 Tage in der Ausgabe, aber Sie sehen auch einige Nullen zusammen mit diesen Tagen am Anfang und manchmal am Ende .
  • Nullen in der Ausgabe bedeuten, dass der Wochentag in einem überlappenden Monat liegt, was bedeutet, dass er nicht zu diesem Monat gehört.
  • Diese Nullen erscheinen in der Ausgabe , weil in Ihrem Code , den Sie Tag erwähnt hat (Donnerstag), so dass , wenn Sie die Funktion „c.itermonthdays“ nennen, wird es das Zählen Tage von Donnerstag starten und Donnerstag kann nicht mit Datum 1 beginnt st April könnte es 28 sein th oder 29 th März, also , wenn Sie den Code ausführen , wird es das Zählen Tage ab 28 beginnt th März und alle Tage danach bis 1 st April. Diese Tage werden als Null gezählt und in der Ausgabe werden diese Nullen angezeigt. Dies gilt auch für das Monatsende.
  • Mit Ausnahme des Datums 1-30 werden alle Daten des vorherigen sowie des Nachmonats in der Ausgabe als Nullen angezeigt.

Schritt 4) Sie können die Daten aus dem lokalen System abrufen, z. B. Monate oder Wochentage usw.

  • Die Ausgabe hier zeigt, dass wir den Monatsnamen aus dem lokalen System ausgedruckt haben. Ebenso können Sie den Wochentagsnamen 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 geben, aber wenn es eine Woche oder ein Tag ist, wird es sicherlich anders sein.

Schritt 5) Sie können die Liste des jeweiligen Tages für ein ganzes Jahr abrufen. Beispielsweise gibt es an jedem ersten Montag einer Woche einen Audittag. 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 einen Kalender für den Monat
  • Setzen Sie die Variablen Woche1 und Woche2 auf die erste und zweite Woche des Kalenders
  • Überprüfen Sie, ob Woche 1 Montag enthält, und legen Sie den Audittag fest
  • Andernfalls legen Sie den Audittag als ersten Montag in Woche 2 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 sein, basierend auf der Anzahl der Wochen im Monat. In unserem Fall wird es ein oder zwei sein, da der erste Montag der Woche am häufigsten in der ersten Woche liegt. Wenn nicht, ziehen Sie die zweite Woche in Betracht. Lassen Sie uns im Detail sehen, warum wir auch die zweite Woche betrachten.
  • Hier verwenden wir den konstanten Montag des Kalenders. Das Kalenderobjekt gibt Ihnen Konstanten an, die Sonntag, Montag, Dienstag usw. darstellen. Wir haben diese schon einmal gesehen. Wenn also in der ersten Woche der durch die Montagkonstante dargestellte Tag nicht gleich 0 ist, denken Sie daran, dass Nullen Tage bedeuten, die zu einem anderen Monat gehören. In diesem Fall ist es also ein Montag, der zum Vormonat gehört, wenn es Null ist. Wenn der erste Montag jedoch nicht gleich 0 ist, bedeutet dies, dass mein Audittag innerhalb der ersten Woche liegt. Andernfalls, wenn das 0 ist, ist der erste Montag nicht in der ersten Woche des Monats, sondern muss in der zweiten sein.
  • Also, dann sage ich okay, setzen Sie meine Audit-Day-Variable auf den Montag, der durch Woche zwei dargestellt wird. Der Audittag wird also mit dem Tag für die erste oder zweite Woche zurückkehren.

Hier ist der vollständige Code

Python 2 Beispiel

Kalender importieren# Erstellen Sie einen Nur-Text-Kalenderc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)Druckstr# Erstellen Sie einen HTML-formatierten Kalenderhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)Druckstr# Schleife über die Tage eines Monats# Nullen geben an, dass der Wochentag in einem nächsten Monat oder einem überlappenden Monat liegtfür i in c.itermonthdays (2025, 4):drucken i# Der Kalender kann Informationen basierend auf lokalen Namen von Tagen und Monaten (vollständige und abgekürzte Formulare) enthalten.für den Namen in calendar.month_name:Name druckenfür Tag in calendar.day_name:Drucktag# Tage anhand einer Regel berechnen: Zum Beispiel einen Audittag am zweiten Montag eines jeden Monats# Finden Sie heraus, welche Tage das für jeden Monat sein würden. Wir können das hier gezeigte Skript verwendenfür Monat im Bereich (1, 13):# Es wird eine Liste der Wochen abgerufen, die den Monat darstellenmycal = calendar.monthcalendar (2025, Monat)# Der erste MONTAG muss innerhalb der ersten zwei Wochen seinWoche1 = mycal [0]Woche2 = mycal [1]if week1 [calendar.MONDAY]! = 0:Audittag = Woche1 [Kalender.MONTAG]sonst:# Wenn der erste MONTAG nicht in der ersten Woche liegt, muss er in der zweiten Woche seinAudittag = Woche2 [Kalender.MONTAG]print "% 10s% 2d"% (calendar.month_name [month], auditday)

Python 3 Beispiel

Kalender importieren# Erstellen Sie einen Nur-Text-Kalenderc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)print (str)# Erstellen Sie einen HTML-formatierten Kalenderhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)print (str)# Schleife über die Tage eines Monats# Nullen geben an, dass der Wochentag in einem nächsten Monat oder einem überlappenden Monat liegtfür i in c.itermonthdays (2025, 4):drucken (i)# Der Kalender kann Informationen basierend auf lokalen Namen von Tagen und Monaten (vollständige und abgekürzte Formulare) enthalten.für den Namen in calendar.month_name:print (Name)für Tag in calendar.day_name:drucken (Tag)# Tage anhand einer Regel berechnen: Zum Beispiel einen Audittag am zweiten Montag eines jeden Monats# Finden Sie heraus, welche Tage das für jeden Monat sein würden. Wir können das hier gezeigte Skript verwendenfür Monat im Bereich (1, 13):# Es wird eine Liste der Wochen abgerufen, die den Monat darstellenmycal = calendar.monthcalendar (2025, Monat)# Der erste MONTAG muss innerhalb der ersten zwei Wochen seinWoche1 = mycal [0]Woche2 = mycal [1]if week1 [calendar.MONDAY]! = 0:Audittag = Woche1 [Kalender.MONTAG]sonst:# Wenn der erste MONTAG nicht in der ersten Woche liegt, muss er in der zweiten Woche seinAudittag = Woche2 [Kalender.MONTAG]print ("% 10s% 2d"% (calendar.month_name [month], auditday))

Zusammenfassung:

  • In Python können Sie den Kalender so formatieren, wie Sie möchten, da Sie den Tag des Monats ändern können, um zu beginnen
  • Drucken Sie den Kalender im HTML-Format aus
  • Rufen Sie die Daten aus dem lokalen System ab, z. B. Monate oder Wochentage
  • Rufen Sie die Liste des jeweiligen Tages für ein ganzes Jahr ab