Python datetime: So arbeiten Sie mit Datum und Uhrzeit in Python

Das Python-Modul datetime erleichtert das Arbeiten mit Datums- und Zeitangaben. So können Sie mit nur wenigen Zeilen Code Daten in verschiedenen Formaten darstellen und Datumsobjekte erstellen.

Das Modul datetime im Überblick

Bei Python datetime handelt es sich um ein Python-Modul, das Sie kennen sollten, ganz gleich, ob Sie gerade Ihr erstes Python-Tutorial durchgelesen haben oder schon lange mit der Internet-Programmiersprache arbeiten. Module können Sie sich ähnlich wie eine Codebibliothek in anderen Programmiersprachen vorstellen. Durch den Import des datetime-Moduls erweitern Sie Python um Funktionen für Datums- und Zeitverarbeitung. Hierfür werden innerhalb des Moduls spezifische Datumsobjekte genutzt, die Sie in Ihrem Code einfach erstellen können.

Tipp

Sie verwenden Python bei Ihrem Webprojekt? Mit IONOS Deploy Now können Sie Code-Änderungen zu jeder Zeit einfach via GitHub deployen und live den aktuellen Stand Ihres Projekts verfolgen.

Python datetime: Datum und Zeit

Sie können Python datetime beispielsweise dazu nutzen, ein Datum und eine Uhrzeit in einem gesonderten Objekt zu speichern. Hierfür benötigen Sie den Python-datetime-Konstruktor, dessen Syntax wie folgt aussieht:

import datetime as dt
dt.datetime(year, month, day, hour, minute, second, microsecond, timezone)

Die Parameter, die die Funktion nimmt, repräsentieren das aktuelle Datum sowie die gegenwärtige Uhrzeit. Dabei sind die Parameter zum Spezifizieren der Uhrzeit optional; der Default-Value ist immer auf 0 gesetzt. Das Gleiche trifft auf den Parameter zu, der die Zeitzone angibt und per Default auf NULL gesetzt ist. Die datetime-Funktion liefert Ihnen ein Python-datetime-Objekt zurück.

Python date: Datum

Analog zum datetime-Konstruktor gibt es auch den Python-date-Konstruktor, mit dem sich ein date-Objekt erstellen lässt. Hierbei spielt die aktuelle Zeit keine Rolle. Syntaktisch ähnelt der date-Konstruktor seinem datetime-Pendant:

import datetime as dt
dt.date(year, month, day)

Die Übergabeparameter, die der Python-date-Konstruktor entgegennimmt, sind das gewünschte Jahr, der gewünschte Monat und der gewünschte Tag. Resultat des Funktionsaufrufs ist ein date-Objekt.

Das aktuelle Datum abrufen: So funktioniert es

Wenn Sie nicht irgendwelche spezifischen Daten, sondern das aktuelle Datum und die aktuelle Zeit speichern möchten, dann stehen Ihnen vordefinierte Funktionen zur Verfügung. Je nachdem, ob Sie sich nur für das aktuelle Datum oder für das aktuelle Datum samt Zeit interessieren, müssen Sie zu einer anderen Funktion greifen.

Vorgehen für das aktuelle Datum

Wenn Sie nur am Datum bestehend aus Jahr, Monat und Tag interessiert sind, können Sie eine Funktion aus der Python-date-Klasse nutzen, die den Namen „today“ trägt. Der Funktionsaufruf ist simpel:

import datetime as dt
current_date = dt.date.today()

Um die today-Funktion aufzurufen, müssen Sie zunächst das Modul datetime angeben, das im obigen Beispiel mit dem Alias dt versehen ist. Anschließend nutzen Sie die Punktnotation, um auf die Klasse date zuzugreifen, in der wiederum die today-Funktion spezifiziert ist. Nachdem der obenstehende Code ausgeführt wurde, befindet sich in der Variable namens current_date ein Python-date-Objekt mit dem aktuellen Datum.

Vorgehen für das aktuelle Datum samt Zeit

Falls Sie auch die aktuelle Uhrzeit benötigen, hilft Ihnen eine Funktion aus der Klasse datetime weiter: now. Mit einem Aufruf von now erhalten Sie ein Python-datetime-Objekt, das neben dem aktuellen Datum auch die gegenwärtige Zeit beinhaltet – und das auf die Millisekunde genau.

import datetime as dt
current_date_and_time = dt.datetime.now()

Der Aufruf erfolgt analog zum Aufruf der today-Funktion, allerdings innerhalb der Klasse datetime. In der Variable „current_date_and_time“ ist nach dem Funktionsaufruf ein datetime-Objekt hinterlegt, das das gegenwärtige Datum und die aktuelle Zeit enthält.

Tipp

Wenn Sie sich nur für einzelne Werte eines Objekts wie beispielsweise den Tag interessieren, dann können Sie die Punktnotation nutzen, um auf genau diesen Wert zuzugreifen. Mit „current_date.day“ greifen Sie dann beispielsweise auf den aktuellen Tag zu.

Daten in Python formatieren

Insbesondere für Anwendungen, bei denen Sie das Datum ausgeben möchten, brauchen Sie eine Möglichkeit, die datetimes- bzw. date-Objekte passend für Ihren Anwendungszweck zu formatieren. Auch hierfür stellt das Python-datetime-Modul eine passende Funktion namens strftime bereit.

Die Syntax der Funktion sieht wie folgt aus:

import datetime as dt
current_date = dt.date.today()
current_date.strftime(format)

Die Funktion wird direkt auf einem date- oder datetime-Objekt aufgerufen und nimmt als Übergabeparameter ein bestimmtes Format entgegen. Dieses Format müssen Sie als Python String, also innerhalb von Anführungszeichen, angeben. Python unterstützt dabei eine Reihe verschiedener Formate, über deren Kürzel Sie sich in der folgenden Tabelle einen Überblick verschaffen können:

Kürzel Beschreibung Beispiel
%a Wochentag, abgekürzt Sat
%A Wochentag, ausgeschrieben Saturday
%w Wochentag als Nummer 6
%u ISO 8601 Wochentag 6
%j Nummer des aktuellen Tages (bezogen auf das ganze Jahr) 365
%b Monatsname, abgekürzt Dec
%B Monatsname, ausgeschrieben December
%m Monat als Nummer 12
%U Wochennummer, beginnend bei Sonntag als erstem Wochentag 50
%W Wochennummer, beginnend bei Montag als erstem Wochentag 50
%y Jahr, abgekürzt 22
%Y Jahr, ausgeschrieben 2022
%H Stunde (0-23) 22
%I Stunde (0-12) 11
%p AM oder PM AM
%M Minute 59
%S Sekunde 37
%f Mikrosekunde 567213
%z UTC-Offset +0100
%Z Zeitzone CST