Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python Calendar Modul: Experten-Guide mit Code-Beispielen

Pythons eingebautes calendar-Modul bietet mächtige Tools für die Arbeit mit Daten, Monaten und Jahren. Durch Nutzung von Klassen wie TextCalendar und HTMLCalendar können Entwickler druckbare oder web-freundliche Kalender erstellen, durch Tage iterieren und sogar benutzerdefinierte Scheduling-Regeln berechnen.

Nachfolgend eine Schritt-für-Schritt-Anleitung der häufigsten Use Cases, komplett mit lauffähigen Code-Snippets für Python 2 und Python 3.

Schritt 1 – Text-Kalender generieren

Führen Sie folgendes Skript aus, um einen Plain-Text-Kalender für Januar 2025 zu sehen, der die Woche am Donnerstag beginnen lässt:

Python Calendar Modul: Experten-Guide mit Code-Beispielen

Starttag auf Sonntag ändern, um Flexibilität zu verifizieren:

Python Calendar Modul: Experten-Guide mit Code-Beispielen

Schritt 2 – HTML-Kalender rendern

Für Webanwendungen kann HTMLCalendar eine vollständige HTML-Tabelle generieren, die mit CSS gestylt werden kann:

Python Calendar Modul: Experten-Guide mit Code-Beispielen

Schritt 3 – Über Tage eines Monats iterieren

Die itermonthdays-Methode liefert alle Tage des Monats, inklusive Padding-Nullen für Tage, die zu angrenzenden Monaten gehören. Das ist nützlich für Kalender-Layouts:

Python Calendar Modul: Experten-Guide mit Code-Beispielen

Schritt 4 – Locale-bewusste Namen abrufen

Python berücksichtigt automatisch das System-Locale für Monats- und Wochentagnamen. Unten ein Beispiel-Output beim Drucken von calendar.month_name und calendar.day_name:

Python Calendar Modul: Experten-Guide mit Code-Beispielen

Locale-Einstellungen variieren je Maschine, daher können Ergebnisse für Nutzer in anderen Ländern abweichen.

Schritt 5 – Benutzerdefinierte Daten berechnen (z. B. erster Montag jedes Monats)

Unten ein prägnantes Skript, das den ersten Montag jedes Monats in 2025 findet:

Python Calendar Modul: Experten-Guide mit Code-Beispielen

Die Logik nutzt calendar.monthcalendar für eine Matrix der Wochen, dann prüft sie die ersten beiden Wochen auf einen non-zero Montag-Wert.

Python 2 Beispiel

import calendar
# Plain text calendar erstellen
c = calendar.TextCalendar(calendar.THURSDAY)
text = c.formatmonth(2025, 1)
print text
# HTML-formatierten Kalender erstellen
hc = calendar.HTMLCalendar(calendar.THURSDAY)
html = hc.formatmonth(2025, 1)
print html
# Über Tage eines Monats loopen
for i in c.itermonthdays(2025, 4):
    print i
# Locale-bewusste Namen von Monaten und Tagen
for name in calendar.month_name:
    print name
for day in calendar.day_name:
    print day
# Ersten Montag jedes Monats finden
for month in range(1, 13):
    mycal = calendar.monthcalendar(2025, month)
    week1 = mycal[0]
    week2 = mycal[1]
    if week1[calendar.MONDAY] != 0:
        auditday = week1[calendar.MONDAY]
    else:
        auditday = week2[calendar.MONDAY]
    print "%10s %2d" % (calendar.month_name[month], auditday)

Python 3 Beispiel

import calendar
# Plain text calendar erstellen
c = calendar.TextCalendar(calendar.THURSDAY)
text = c.formatmonth(2025, 1)
print(text)
# HTML-formatierten Kalender erstellen
hc = calendar.HTMLCalendar(calendar.THURSDAY)
html = hc.formatmonth(2025, 1)
print(html)
# Über Tage eines Monats loopen
for i in c.itermonthdays(2025, 4):
    print(i)
# Locale-bewusste Namen von Monaten und Tagen
for name in calendar.month_name:
    print(name)
for day in calendar.day_name:
    print(day)
# Ersten Montag jedes Monats finden
for month in range(1, 13):
    mycal = calendar.monthcalendar(2025, month)
    week1 = mycal[0]
    week2 = mycal[1]
    if week1[calendar.MONDAY] != 0:
        auditday = week1[calendar.MONDAY]
    else:
        auditday = week2[calendar.MONDAY]
    print("%10s %2d" % (calendar.month_name[month], auditday))

Zusammenfassung

Python

  1. C# Abstrakte Klassen: Praktisches Tutorial mit Code-Beispielen
  2. Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
  3. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
  4. Python round()-Funktion erklärt mit praktischen Beispielen
  5. Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices
  6. Python timeit(): Ausführungszeit messen mit praktischen Beispielen
  7. Pythons yield meistern: Generator vs. Return – Ein praktischer Leitfaden
  8. Python Counter in collections: Effizientes Zählen, Aktualisieren und arithmetische Operationen
  9. Python list.count(): Experten-Guide mit praktischen Beispielen
  10. Python list.index(): Element-Positionen finden mit praktischen Beispielen