Das Python-Modul datetime er­leich­tert das Arbeiten mit Datums- und Zeit­an­ga­ben. So können Sie mit nur wenigen Zeilen Code Daten in ver­schie­de­nen Formaten dar­stel­len und Da­tums­ob­jek­te 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 durch­ge­le­sen haben oder schon lange mit der Internet-Pro­gram­mier­spra­che arbeiten. Module können Sie sich ähnlich wie eine Code­bi­blio­thek in anderen Pro­gram­mier­spra­chen vor­stel­len. Durch den Import des datetime-Moduls erweitern Sie Python um Funk­tio­nen für Datums- und Zeit­ver­ar­bei­tung. Hierfür werden innerhalb des Moduls spe­zi­fi­sche Da­tums­ob­jek­te genutzt, die Sie in Ihrem Code einfach erstellen können.

Tipp

Sie verwenden Python bei Ihrem Web­pro­jekt? Mit IONOS Deploy Now können Sie Code-Än­de­run­gen 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 bei­spiels­wei­se dazu nutzen, ein Datum und eine Uhrzeit in einem ge­son­der­ten Objekt zu speichern. Hierfür benötigen Sie den Python-datetime-Kon­struk­tor, 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, re­prä­sen­tie­ren das aktuelle Datum sowie die ge­gen­wär­ti­ge Uhrzeit. Dabei sind die Parameter zum Spe­zi­fi­zie­ren 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-Kon­struk­tor gibt es auch den Python-date-Kon­struk­tor, mit dem sich ein date-Objekt erstellen lässt. Hierbei spielt die aktuelle Zeit keine Rolle. Syn­tak­tisch ähnelt der date-Kon­struk­tor seinem datetime-Pendant:

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

Die Über­ga­be­pa­ra­me­ter, die der Python-date-Kon­struk­tor ent­ge­gen­nimmt, sind das ge­wünsch­te Jahr, der ge­wünsch­te Monat und der ge­wünsch­te Tag. Resultat des Funk­ti­ons­auf­rufs ist ein date-Objekt.

Das aktuelle Datum abrufen: So funk­tio­niert es

Wenn Sie nicht ir­gend­wel­che spe­zi­fi­schen Daten, sondern das aktuelle Datum und die aktuelle Zeit speichern möchten, dann stehen Ihnen vor­de­fi­nier­te Funk­tio­nen zur Verfügung. Je nachdem, ob Sie sich nur für das aktuelle Datum oder für das aktuelle Datum samt Zeit in­ter­es­sie­ren, 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 in­ter­es­siert sind, können Sie eine Funktion aus der Python-date-Klasse nutzen, die den Namen „today“ trägt. Der Funk­ti­ons­auf­ruf ist simpel:

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

Um die today-Funktion auf­zu­ru­fen, müssen Sie zunächst das Modul datetime angeben, das im obigen Beispiel mit dem Alias dt versehen ist. An­schlie­ßend nutzen Sie die Punkt­no­ta­ti­on, um auf die Klasse date zu­zu­grei­fen, in der wiederum die today-Funktion spe­zi­fi­ziert ist. Nachdem der oben­ste­hen­de Code aus­ge­fü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 ge­gen­wär­ti­ge Zeit be­inhal­tet – und das auf die Mil­li­se­kun­de genau.

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

Der Aufruf erfolgt analog zum Aufruf der today-Funktion, al­ler­dings innerhalb der Klasse datetime. In der Variable „current_date_and_time“ ist nach dem Funk­ti­ons­auf­ruf ein datetime-Objekt hin­ter­legt, das das ge­gen­wär­ti­ge Datum und die aktuelle Zeit enthält.

Tipp

Wenn Sie sich nur für einzelne Werte eines Objekts wie bei­spiels­wei­se den Tag in­ter­es­sie­ren, dann können Sie die Punkt­no­ta­ti­on nutzen, um auf genau diesen Wert zu­zu­grei­fen. Mit „current_date.day“ greifen Sie dann bei­spiels­wei­se auf den aktuellen Tag zu.

Daten in Python for­ma­tie­ren

Ins­be­son­de­re für An­wen­dun­gen, bei denen Sie das Datum ausgeben möchten, brauchen Sie eine Mög­lich­keit, die datetimes- bzw. date-Objekte passend für Ihren An­wen­dungs­zweck zu for­ma­tie­ren. 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 auf­ge­ru­fen und nimmt als Über­ga­be­pa­ra­me­ter ein be­stimm­tes Format entgegen. Dieses Format müssen Sie als Python String, also innerhalb von An­füh­rungs­zei­chen, angeben. Python un­ter­stützt dabei eine Reihe ver­schie­de­ner Formate, über deren Kürzel Sie sich in der folgenden Tabelle einen Überblick ver­schaf­fen können:

Kürzel Be­schrei­bung Beispiel
%a Wochentag, abgekürzt Sat
%A Wochentag, aus­ge­schrie­ben Saturday
%w Wochentag als Nummer 6
%u ISO 8601 Wochentag 6
%j Nummer des aktuellen Tages (bezogen auf das ganze Jahr) 365
%b Mo­nats­na­me, abgekürzt Dec
%B Mo­nats­na­me, aus­ge­schrie­ben December
%m Monat als Nummer 12
%U Wo­chen­num­mer, beginnend bei Sonntag als erstem Wochentag 50
%W Wo­chen­num­mer, beginnend bei Montag als erstem Wochentag 50
%y Jahr, abgekürzt 22
%Y Jahr, aus­ge­schrie­ben 2022
%H Stunde (0-23) 22
%I Stunde (0-12) 11
%p AM oder PM AM
%M Minute 59
%S Sekunde 37
%f Mi­kro­se­kun­de 567213
%z UTC-Offset +0100
%Z Zeitzone CST
Zum Hauptmenü