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).
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!
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)
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 beitime.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 Feldtm_isdstsieht. -
Wie bekommt man aus einem struct_time nur das Jahr, den Monat oder den Wochentag heraus?Aus einem
struct_timeliest man Jahr übertm_year, Monat übertm_monund den Wochentag übertm_wdayaus. Zum Beispiel kann mant = time.localtime()aufrufen und dannt.tm_year,t.tm_monbzw.t.tm_wdayabfragen. 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 einstruct_timeum und konvertiert dieses dann mittime.mktime()in Sekunden seit Epoch. Beispielaufrufe sindtime.strptime()gefolgt vontime.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 einstruct_time-Objekt als solchen String. Beitime.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.