Python Time
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.")
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!