HOWTO · Python
Ermitteln des aktuellen Jahres in Python
Erfahren Sie in Python auf verschiedene einfache Arten, wie Sie das aktuelle Jahr abrufen können
Auf dieser Seite
Verwenden Sie das datetime-Modul aus Pythons Standardbibliothek, um das aktuelle Jahr zu ermitteln. Rufen Sie datetime.datetime.now() auf und formatieren Sie dessen Datum mit strftime("%Y"), wenn Sie das Jahr als Zeichenfolge benötigen. Wenn Sie eine Ganzzahl benötigen, rufen Sie datetime.date.today() auf und lesen Sie dessen year-Attribut aus. Beide Methoden verwenden das Datum, das auf dem Rechner verfügbar ist, auf dem das Programm läuft. Das zurückgegebene Jahr ändert sich daher, sobald das Datum dieses Rechners in ein neues Jahr wechselt.
Aktuelles Jahr mit strftime() ermitteln
Mit der strftime()-Methode lässt sich ein Datum oder eine Uhrzeit als Zeichenfolge formatieren. Die %Y-Direktive gibt das Jahr als vierstellige Zeichenfolge aus. Das ist praktisch, wenn Sie das Jahr anzeigen oder mit anderen formatierten Datumsbestandteilen kombinieren möchten. Das folgende Beispiel ruft das aktuelle Datum ab und gibt sein Jahr aus:
Führen Sie dieses Beispiel aus. Die Ausgabe zeigt das Jahr mit der englischen Bezeichnung „Current year“; Code und Ausgabe bleiben unverändert auf Englisch.
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
import datetime
current_date = datetime.datetime.now().date()
current_year = current_date.strftime("%Y")
print(f"Current year: {current_year}")
Current year: 2026
Hier liefert datetime.datetime.now() das aktuelle lokale Datum und die Uhrzeit; .date() behält davon den Datumsanteil bei. Ein Aufruf von strftime("%Y") für dieses Datum gibt eine Zeichenfolge und keine Zahl zurück. Ist das aktuelle Jahr zur Laufzeit beispielsweise 2026, ist current_year die Zeichenfolge "2026". Das angezeigte Jahr hängt von der Laufzeituhr ab. Betrachten Sie einen Beispielwert daher nicht als ein Jahr, das auch in späteren Jahren noch aktuell ist.
Mit weiteren Formatdirektiven können Sie zusätzliche Datumsangaben ausgeben. So formatiert %A %Y den Wochentagsnamen gefolgt vom Jahr. Welcher Wochentag angezeigt wird, hängt vom formatierten Datum ab. Eine vollständige Liste der Direktiven und Hinweise zu den jeweiligen Plattformen finden Sie in der Python-Dokumentation zu strftime() und den strptime()-Formatcodes.
Aktuelles Jahr mit dem year-Attribut ermitteln
Wenn eine numerische Jahreszahl praktischer ist, rufen Sie ein datetime.date-Objekt ab und lesen Sie dessen year-Attribut aus. datetime.date.today() gibt direkt das heutige Datum zurück. So müssen Sie nicht erst einen Wert vom Typ datetime.datetime erzeugen und anschließend in ein Datum umwandeln.
Führen Sie dieses Beispiel aus. Die Ausgabe zeigt das Jahr mit der englischen Bezeichnung „Current year“; Code und Ausgabe bleiben unverändert auf Englisch.
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
import datetime
current_date = datetime.date.today()
current_year = current_date.year
print(f"Current year: {current_year}")
Current year: 2026
Der Wert von current_year ist hier eine Ganzzahl, anders als die von strftime("%Y") zurückgegebene Zeichenfolge. Verwenden Sie die Ganzzahl für Berechnungen oder Vergleiche. Wenn Sie sie anzeigen oder mit anderen Zeichenfolgen kombinieren möchten, wandeln Sie sie in Text um. Sowohl datetime.datetime.now().date() als auch datetime.date.today() liefern Datumsobjekte, deren year-Attribut als date.year ausgelesen werden kann. Wählen Sie den Ausdruck, der am besten zum Datumswert passt, über den Sie bereits verfügen. Wenn Ihr Code beispielsweise bereits ein Datum enthält, lesen Sie dessen Attribut aus, statt das heutige Datum erneut abzurufen. Das Attribut gibt das Jahr des jeweiligen Datumsobjekts an. Bei einem Datum aus der Vergangenheit oder Zukunft kann es daher vom aktuellen Jahr abweichen.
Diese Beispiele verwenden das lokale Datum des Rechners. Benötigt Ihre Anwendung das Jahr in einer bestimmten Zeitzone, beginnen Sie mit einem zeitzonenbewussten datetime, wandeln Sie es mit astimezone() in diese Zeitzone um und lesen Sie anschließend das Jahr des umgewandelten datetime aus oder formatieren Sie es. Rund um den Jahreswechsel ist diese Umwandlung wichtig: Derselbe Zeitpunkt kann je nach Zeitzone auf unterschiedliche Kalenderdaten und damit in unterschiedliche Jahre fallen. Ein einfaches date enthält keine Zeitzoneninformation. Legen Sie daher die Zeitzone fest, bevor Sie aus einem Zeitpunkt ein Datum ableiten.