Video

Das Python Time Modul ist neben dem Python Datetime Modul und dem Python Calendar Modul eine Bibliothek, die dir mit Funktionen wie Python sleep() hilft, Uhrzeiten und Daten in deinen Programmen zu benutzen. Wie du sie in deine Python Software einbaust, zeigen wir dir hier und in unserem passenden Video.

Inhaltsübersicht

Python Time Modul einfach erklärt

Um Time in Python benutzen zu können, musst du es zuerst mit dem Schlüsselwort import importieren.

1 import time

Danach hast du Zugriff auf Funktionen wie time.time() und time.ctime(). Die Pythonfunktion time.time() gibt dir die Anzahl von Sekunden an, die seit 00:00:00 (UTC) am 01. Januar 1970 vergangen sind. Das nennst du auch den Unixzeitstempel (engl. unix time stamp oder nur Python Timestamp) oder die Zeit seit Epoch.

2 seconds = time.time()
3 print(f"Sekunden seit Epoch = {seconds} s")

Ausgabe: Sekunden seit Epoch = 162911575.2166262 s

Mit time.ctime() findest du heraus, welches Datum einem beliebigen Unixzeitstempel entspricht. Dafür übergibst du die Ausgabe von time.time()(Zeile 2) als Parameter (Zeile 4). Wenn du den Parameter weglässt, bekommst du die aktuelle Uhrzeit.

4 local_time = time.ctime(seconds)
5 print(f"Lokale Zeit: {local_time}")

Ausgabe: Tue Aug 17 16:46:15 2021

Python time.sleep()

Mit der Funktion time.sleep() kannst du deine Python Software für eine bestimmte Zeitspanne warten lassen. Schreibe in die runden Klammern einfach die Anzahl der Sekunden, die dein Programm pausieren soll (Zeile 3).

1 import time
2 print("Schreibe diesen Satz sofort.")
3 time.sleep(3.1)
4 print("Schreibe diesen Satz nach 3,1 Sekunden.")
Studyflix vernetzt: Hier ein Video aus einem anderen Bereich

time.struct_time Klasse

Einige Funktionen im Python Time Module erwarten ein struct_time-Objekt als Parameter oder geben eines als Rückgabewert aus. Die Funktionen time.gmtime() oder time.localtime() geben ein struct_time-Objekt zurück, das so aussieht:

time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, 
                 tm_hour=6, tm_min=35, tm_sec=17, 
                 tm_wday=3, tm_yday=361, tm_isdst=0)
Index Attribut Beschreibung mögliche Werte
0 tm_year Jahreszahl 0000, …., 2018, …, 9999
1 tm_mon Monat 1, 2, …, 12
2 tm_mday Tag im Monat 1, 2, …, 31
3 tm_hour Uhrzeit (Stunden) 0, 1, …, 23
4 tm_min Uhrzeit (Minuten) 0, 1, …, 59
5 tm_sec Uhrzeit (Sekunden) 0, 1, …, 61
6 tm_wday Wochentag 0 (Mon), 1 (Di), …, 6 (So)
7 tm_yday Tag im Jahr 1, 2, …, 366
8 tm_isdst Sommer-/Winterzeit 0 (Winter), 1 (Sommer) oder -1 (k.A.)

Python time.localtime()

Mit der Funktion time.localtime()kannst du einen beliebigen Unixzeitstempel — die Sekunden seit Epoch — in ein time.struct_time-Objekt — eine Uhrzeit und Datumsangabe — umwandeln. Wichtig: Die Zeit wird in deiner Zeitzone (Lokale Zeit) gespeichert.

Wenn du keinen Zeitstempel als Parameter übergibst, wird die aktuelle Uhrzeit benutzt (Zeile 3). Falls du einen Timestamp übergibst, bekommst du das Datum, das im Timestamp gespeichert ist.

1 import time
2 time_stamp = time.time()
3 local_time = time.localtime(time_stamp)
4 print(local_time)

Ausgabe: time.struct_time(tm_year=2021, tm_mon=8, tm_mday=18, tm_hour=13, tm_min=45, tm_sec=16, tm_wday=2, tm_yday=230, tm_isdst=1)

Python time.mktime()

time.mktime() ist das Gegenstück zu time.localtime(). Die Python Time Funktion erwartet ein struct_time-Objekt als Parameter und gibt den entsprechen Unixzeitstempel zurück.

5 time_stamp = time.mktime(local_time)
6 print(time_stamp)

Ausgabe: 162911575.2166262

Python time.gmtime()

time.gmtime() funktioniert wie time.localtime(), nur dass es ein time.struct_time-Objekt in der koordinierten Weltzeit (UTC) zurückgibt.

1 import time
2 time_stamp = time.time()
3 local_time = time.gmtime(time_stamp)
4 print(local_time)

Ausgabe: time.struct_time(tm_year=2021, tm_mon=8, tm_mday=18, tm_hour=11, tm_min=51, tm_sec=9, tm_wday=2, tm_yday=230, tm_isdst=0)

Python time.asctime()

Mit der Python Funktion time.asctime() kannst du aus einem struct_time-Objekt eine leserliche Zeitangabe (Zeile 3 und 4) erstellen.

1 import time
2 local_time = time.localtime()
3 time_string = time.asctime(local_time)
4 print(time_string)

Ausgabe: Wed Aug 18 14:02:21 2021

Python time.strftime ()

Wenn du die Ausgabe von time.asctime() individueller gestalten willst, kannst du die Python Time Funktion time.strftime() benutzen. Dafür musst du der Funktion eine Zeichenkette mit bestimmten Schlüsselwörtern, wie %d für den Tag oder %m für den Monat, geben (Zeile 3).

Python Timestamp Format

Hier ist eine Liste der wichtigsten Schlüsselwörter (engl. format codes):

  • %Y – Jahreszahl (0001,…, 2018, 2019,…, 9999)
  • %m – Monat (01, 02, …, 11, 12)
  • %d – Tag (01, 02, …, 30, 31)
  • %H – Stunde (00, 01, …, 22, 23)
  • %M – Minute (00, 01, …, 58, 59)
  • %S – Sekunde (00, 01, …, 60, 61)
1 import time
2 local_time = time.localtime()
3 time_string = time.strftime("%d-%m-%Y, %H:%M:%S", local_time)
4 print(time_string)

Ausgabe: 18-08-2021, 14:02:21

Python time.strptime()

time.strptime() ist das Gegenstück zu time.strftime(). Wenn du weißt, wie die Zeit in einer Zeichenkette formatiert ist, macht die Funktion aus einer Zeichenkette ein struct_time-Objekt.

5 local_time = time.strptime(time_string, "%d-%m-%Y, %H:%M:%S
")6 print(local_time)

Ausgabe: time.struct_time(tm_year=2021, tm_mon=8, tm_mday=18, tm_hour=14, tm_min=02, tm_sec=21, tm_wday=2, tm_yday=230, tm_isdst=-1)

Python Funktion

Häufig kann es nützlich sein, einen Teil deines Pythonprogramms wiederzuverwenden. Mit Python Funktionen (engl. function python) kannst du genau das tun. Sie helfen dir gleichzeitig dabei, dein Programm übersichtlicher zu gestalten. Hier hast du zum Beispiel schon viele Funktionen wie time.localtime() oder time.sleep() benutzt, aber du kannst dir natürlich auch deine eigenen schreiben. Wie das geht, zeigen wir dir in unserem Video. Schaue gleich mal rein!

Zum Video: Python Funktion
Zum Video: Python Funktion

Nach Beantwortung speichern wir deine Antwort, um Studyflix zu verbessern. Mehr dazu erfährst du in unserer Datenschutzerklärung.

Python Time — häufigste Fragen

(ausklappen)
  • Warum gibt time.localtime eine andere Uhrzeit aus als time.gmtime?
    Man erhält bei time.localtime() die Uhrzeit in der lokalen Zeitzone und bei time.gmtime() die Uhrzeit in UTC, deshalb unterscheiden sich die Werte. Die Differenz entspricht dem Zeitzonen-Offset zur Weltzeit. Zusätzlich kann Sommerzeit die lokale Ausgabe verändern, was man oft am Feld tm_isdst sieht.
  • Wie bekommt man aus einem struct_time nur das Jahr, den Monat oder den Wochentag heraus?
    Aus einem struct_time liest man Jahr über tm_year, Monat über tm_mon und den Wochentag über tm_wday aus. Zum Beispiel kann man t = time.localtime() aufrufen und dann t.tm_year, t.tm_mon bzw. t.tm_wday abfragen. Der Wochentag ist dabei als Zahl codiert.
  • Wie macht man aus einem Datumstext wieder einen Unix-Timestamp?
    Man wandelt den Text zuerst mit time.strptime() in ein struct_time um und konvertiert dieses dann mit time.mktime() in Sekunden seit Epoch. Beispielaufrufe sind time.strptime() gefolgt von time.mktime().
  • Was ist der Unterschied zwischen time.ctime und time.asctime?
    time.ctime() formatiert einen Unix-Timestamp (Sekunden seit Epoch) als lesbaren Zeit-String wie „Tue Aug 17 16:46:15 2021“. time.asctime() formatiert dagegen ein struct_time-Objekt als solchen String. Bei time.ctime() bekommt man ohne Parameter die aktuelle Zeit.

Programmieren verstehen

Das time-Modul ist ein fester Teil von Python und gehört zu vielen Aufgaben rund ums Programmieren. Du planst Abläufe im Code, misst Laufzeiten und arbeitest mit Uhrzeiten und Datumsangaben in unterschiedlichen Formaten. So erkennst du, wie Programme Zeit als Zahl oder als Text darstellen und wie sich solche Werte sicher umrechnen lassen. Weitere Videos dazu findest du in unserem Informatikbereich.

Lernen lohnt sich! Entdecke hier deine Chancen.