veröffentlicht am: 31.08.2020 zuletzt aktualisiert am: 02.02.2023
Mit Zeitvariablen zu arbeiten ist in der modernen Entwicklung von Software immer wichtiger geworden. Dafür gibt es mehrere Gründe, wie etwa das Koordinieren von Events oder Markieren von Ereignissen mit Zeitstempeln.Die Verwendung von Zeitfunktion unterscheidet sich zwischen den Programmiersprachen deutlich. Python stellt dafür eine extra Bibliothek bereit. Die Bibliothek wird Python time genannt. In diesem Artikel werden wir besprechen, wie man die Bibliothek und die darin enthaltenen Funktionen nutzt.
Bevor wir jedoch mit der eigentlichen Bibliothek starten, sollten wir zunächst die Bedeutung der „Epoche“ verstehen.
Ganz einfach gesagt beschreibt die Epoche, von welchem Zeitpunkt die Zeit des Computers gemessen wird. Für POSIX und UNIX, liegt der Zeitpunkt am 1. Januar 1970. Für Windows NT wiederrum liegt die Startzeit am 1. Januar 1601.
Die Epoche des Systems kann man mittels der gmtime()-Funktion aus der time-Bibliothek ermitteln.
import time time.gmtime(0)
Die Funktion gibt eine struct_time()-Funktion zurück. Wenn wir uns den Inhalt genau anschauen, könne wir auch unser bereits angesprochenes Datum wiederfinden.
Es gibt zwei verschiedene Wege, um eine Bibliothek in Python zu importieren.
Bei der Ersten können wir ganz einfach den import-Befehl verwenden.
import time
Die Funktionen aus der Bibliothek können wir dann wie folgt nutzen.
import time time.gmtime()
Im zweiten Fall können wir nur die von uns benötigten Funktionen importieren.
from time import gmtime
Da wir mit diesem Ausdruck die gmtime()-Funktion direkt importieren, können wir diese auch ohne time nutzen.
from time import gmtime gmtime()
Wir können also entweder die ganze Bibliothek importieren oder nur spezifische Funktionen. Dabei ist entscheidend, ob wir nur eine Funktion oder eine Bandbreite an Funktionen aus der Bibliothek benötigen.
Die time()-Funktion gibt uns die verstrichenen Sekunden seit der „Epoche“, also der Startzeit des Systems, aus.
from time import time time_1 = time()
Lasst uns einen Blick auf die Ausgabe werfen.
So können wir die insgesamt verstrichenen Sekunden erhalten und im Nachhinein mit ihnen arbeiten.
Mittels der ctime()-Funktion können wir die Sekunden aus der time()-Funktion in einen für uns lesbaren String umwandeln.
from time import time, ctime time_1 = time() time_2 = ctime(time_1)
Zunächst nutzen wir die time()-Funktion um die verstrichenen Sekunden zu erhalten. Dann übergeben wir diese an die ctime()-Funktion.
Der String ist dann wie folgt aufgebaut:
Den String nennt man im allgemeinen dann Zeitstempel.
Die sleep()-Funktion ist wahrscheinlich eine der wichtigsten Funktionen. Mit ihr können wir das Programm zur Laufzeit mit einer durch uns vorgegebenen Zeit pausieren.
from time import sleep print("Vor der sleep-Funktion") sleep(4) print("Nach 4 Sekunden")
Zuerst wird die erste print()-Funktion aufgerufen. Danach wird mittels der sleep()-Funktion das Programm für vier Sekunden gestoppt. Im Anschluss wird dann auch die zweite print()-Funktion ausgeführt.
Am Anfang haben wir die gmtime()-Funktion bereits verwendet um unsere Epoche herauszufinden.
Schauen wir uns dafür noch einmal den Quellcode an.
Wir haben in dem Fall eine 0 als Argument übergeben.
Das Argument gibt dabei vor, welche konkrete Anzahl von Sekunden im struct_time() angezeigt werden soll.
Wie wir sehen, wandelt die Funktion die Anzahl an Sekunden in ein Struct mit den Angaben eines Zeitstempel um. In diesem Fall ist bei 0 Sekunden unsere Epoche.
Wir können die Funktion allerdings auch mit der heutigen Zeit bzw. Menge an Sekunden nutzen.
from time import time, gmtime time_1 = time() time_2 = gmtime(time_1)
Die time()-Funktion gibt uns wieder die Anzahl der verstrichenen Sekunden seit der Epoche aus. Diese werden als Argument an die gmtime()-Funktion übergeben.
from time import time, localtime time_1 = time() time_2 = localtime(time_1)
Die Herangehensweise ist gleich zur gmtime()-Funktion.
Jetzt haben wir ein Struct, in dem die Zeit zu der unseres Computers passt.
Die asctime()-Funktion ist dazu da, die Zeit, ähnlich der ctime()-Funktion, als String auszugeben. Dabei werden jedoch nicht die verstrichenen Sekunden, sondern ein Struct mit den Zeitstempelangaben übergeben. Alternativ kann auch ein Tuple mit den Angaben übergeben werden.
Der üblichste Weg ist dabei die Variante mit dem Tuple.
tup = (2020, 6, 30, 16, 47, 5, 1, 182, 0)
In dem Tuple stehen die 2020 für das Jahr, die 6 für den Monat, die 30 für den Tag, die 16 für die Stunden, die 47 für die Minuten, die 5 für die Sekunden, die 1 für den Wochentag und die 182 für den entsprechenden Tag im Jahr. Außerdem wird, im Beispiel die 0, eine Markierung für „Tageslicht“ übergeben.
from time import asctime tup = (2020, 6, 30, 16, 47, 5, 1, 182, 0) time_1 = asctime(tup)
Wichtig ist, dass die Reihenfolge der Werte im Tuple richtig ist.
Die Funktion rund um die Zeit ist ein wichtiger Bestandteil der modernen Programmierung. Deshalb bietet Python für diesen Bereich eine extra Bibliothek.
Die time-Bibliothek bietet zahlreiche Funktionen rund um Zeit- und Datumsangaben, die in diesem Artikel besprochen werden.
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig