Zeitmodul in Python 3. Hauptmethoden, Vorlagen, Beispiele

Fast jedes Programm verwendet Zeit. In Python wurde dafür eine eigene Bibliothek entwickelt – Zeitverwendet, um eine Vielzahl von Aktionen damit auszuführen. Damit es funktioniert, muss es zuerst am Anfang des Codes deklariert werden. Dazu wird diese Zeile verwendet:

Importzeit

Betrachten wir verschiedene Optionen, wie Sie dieses Modul in der Praxis richtig verwenden können. 

Bestimmung der Anzahl der Sekunden seit der Epoche

Um diese Aufgabe zu erfüllen, gibt es eine Funktion Zeit(), die keine Parameter akzeptiert. Sein Rückgabewert ist, wie viele Sekunden seit dem 1. Januar 1970 vergangen sind. In Python wird diese Zeit als Beginn einer Epoche bezeichnet. Zumindest in Betriebssystemen der Unix-Familie.

Wie bei Windows ist das Datum dasselbe, aber es kann Probleme mit negativen Werten geben, die vor diesem Datum lagen. 

Die verwendete Zeitzone ist UTC.

Importzeit

Sekunden = Zeit.Zeit()

print("Sekunden seit Epoche =", Sekunden)

Die Komplexität dieser Funktion besteht darin, dass sie nicht genau das Datum anzeigt, sondern nur die Anzahl der Sekunden. Um in das jedem bekannte Format zu konvertieren, müssen Sie genaue Informationen verwenden. Dazu wird die Funktion verwendet time.ctime().

Rückgabe von Datum, Uhrzeit im üblichen Format

Um die Zeit im üblichen Format zurückzugeben, gibt es eine Methode time.ctime(). Die Klammern geben eine Variable oder eine Zahl an, die die Anzahl der Sekunden angibt, die seit Beginn der Epoche vergangen sind. Diese Methode gibt alle Datums- und Zeitmerkmale zurück, einschließlich Datum, Jahr, Anzahl der Stunden, Minuten, Sekunden und Wochentag.

Diese Funktion kann auch ohne Argumente verwendet werden. In diesem Fall gibt es das aktuelle Datum, die Uhrzeit usw. zurück.

Hier ist ein Codeausschnitt, der dies demonstriert.

Importzeit

print(time.ctime())

Di 23. Okt 10:18:23 2018

Die letzte Zeile wird an die Konsole ausgegeben, auf der der Python-Interpreter ausgeführt wird. Das Verfahren formatiert die empfangene Sekundenzahl automatisch in eine dem Benutzer vertraute Form. Alle oben beschriebenen Elemente werden zwar selten verwendet. In der Regel benötigen Sie entweder nur die Uhrzeit oder nur das heutige Datum. Dafür wird eine separate Funktion verwendet – strftime(). Aber bevor wir darüber nachdenken, müssen wir die Klasse parsen time.struct_time.

Klasse time.struct_time

Dies ist eine Kategorie von Argumenten, die von einer Reihe von Methoden akzeptiert werden können. Es hat keine Optionen. Es ist ein Tupel mit einer benannten Schnittstelle. Einfach ausgedrückt kann auf die Elemente dieser Klasse sowohl über den Namen als auch über die Indexnummer zugegriffen werden.

Es besteht aus den folgenden Attributen.Zeitmodul in Python 3. Hauptmethoden, Vorlagen, Beispiele

Aufmerksamkeit! Im Gegensatz zu einigen anderen Programmiersprachen kann der Monat hier von 1 bis 12 reichen und nicht von null bis 11.

Rückgabe eines bestimmten Formats

Verwendung der Funktion strftime () Sie können das Jahr, den Monat, den Tag, die Stunde, die Minuten und die Sekunden einzeln abrufen und in eine Textzeichenfolge zurückgeben. Anschließend kann es dem Benutzer über die Funktion ausgedruckt werden drucken () oder anderweitig verarbeitet.

Als Argument kann eine Funktion jede Variable annehmen, die einen Wert annimmt, der von anderen Funktionen dieses Moduls zurückgegeben wird. Sie können ihm beispielsweise die Ortszeit übertragen (wird später besprochen), aus der er die erforderlichen Daten herauszieht.

Hier ist das Code-Snippet, wo wir es tun.

Importzeit

named_tuple = time.localtime() # struct_time abrufen

time_string = time.strftime(«%m/%d/%Y, %H:%M:%S», benanntes_tupel)

print(time_string)

Wenn Sie diesen Code ausführen, werden das aktuelle Datum und die Uhrzeit angezeigt. Das Format und die Reihenfolge der Elemente können geändert werden. Sie sind wie folgt:

  1. %Y ist das Jahr.
  2. %m ist der Monat.
  3. %d – Tag.
  4. %H – Zeit.
  5. %M – Minuten.
  6. %S – Sekunde.

Dementsprechend können Sie es so machen, dass die Ausgabe ausschließlich den Monat und den Tag enthält. Dazu müssen Sie einfach keinen Befehl geben, um das Jahr anzuzeigen. Das heißt, schreiben Sie in die obige Formel als Argument %m/%d, und das war's. Oder umgekehrt, %d/%m. 

Tatsächlich ist die Anzahl der Zeichenfolgenliterale viel größer. Hier ist eine Tabelle, in der sie im Detail beschrieben werden.Zeitmodul in Python 3. Hauptmethoden, Vorlagen, Beispiele

Verschieben Sie einen Thread um eine bestimmte Anzahl von Sekunden

Dazu wird die Funktion verwendet schlafen (). Mit dem Zeitablauf ist ein ziemlich großer Block von Programmieraufgaben verbunden. Manchmal muss man den nächsten Schritt um eine gewisse Zeit verschieben. Zum Beispiel, wenn Sie mit einer Datenbank interagieren müssen, deren Verarbeitung eine gewisse Zeit in Anspruch nimmt.

Als Argument verwendet die Methode einen Wert, der die Anzahl der Sekunden ausdrückt, um die der nächste Schritt des Algorithmus verzögert wird.

In diesem Snippet beträgt die Verzögerung beispielsweise 10 Sekunden.

Importzeit

Pause = 10

print(«Programm gestartet…»)

time.sleep(Pause)

print(str(pause) + » Sekunden vergangen.»)

Als Ergebnis erhalten wir Folgendes:

Programm gestartet…

10 Sekunden vergingen.

Wie wir der Ausgabe entnehmen können, meldet das Programm zunächst, dass es gestartet wurde. Und nach zehn Sekunden schrieb sie, dass diese Zeit vorbei war.

Mit der Funktion können Sie die Dauer der Pause in Millisekunden angeben. Dazu verwenden wir Bruchwerte des Funktionsarguments schlafen. Zum Beispiel 0,1. Dies bedeutet, dass die Verzögerung 100 Millisekunden beträgt.

Holen Sie sich die Ortszeit

Mit der Funktion localtime() erhält das Programm die Anzahl der Sekunden seit Beginn der Epoche in einer bestimmten Zeitzone. 

Lassen Sie uns zur Verdeutlichung einen Beispielcode geben.

Importzeit

Ergebnis = time.localtime(1575721830)

print("Ergebnis:", Ergebnis)

print(«nгод:», result.tm_year)

print(«tm_hour:», result.tm_hour)

Gibt struct_time in UTC basierend auf der Anzahl der Sekunden seit der Epoche zurück

Diese Aufgabe wird mit time.gmtime() erreicht. Methode. Es wird klarer, wenn wir ein Beispiel geben.

Importzeit

Ergebnis = time.gmtime(1575721830)

print("Ergebnis:", Ergebnis)

print(«nгод:», result.tm_year)

print(«tm_hour:», result.tm_hour)

Wenn Sie diese Abfolge von Aktionen aktivieren, wird eine Reihe von Elementen angezeigt, die sich auf Zeit, Jahr und Zeitzone beziehen.

Gibt die Anzahl der Sekunden seit Beginn der Epoche mit automatischer Konvertierung in die Ortszeit zurück

Wenn Sie vor einer solchen Aufgabe stehen, wird diese mit der Methode umgesetzt mktime(), was braucht struct_time. Danach führt es die umgekehrte Aktion der Funktion aus Ortszeit(). Das heißt, es konvertiert die Zeit gemäß der lokalen Zeitzone in die Anzahl der Sekunden, die seit Beginn der Epoche vergangen sind, angepasst an die Zeitzone.

Die Funktionen mktime() und localtime() sind eng miteinander verflochten. Dieses Code-Snippet zeigt dies deutlich. Werfen wir einen Blick darauf, um besser zu verstehen, wie es funktioniert. 

Importzeit

Sekunden = 1575721830

# gibt struct_time zurück

t = Zeit.Ortszeit (Sekunden)

print(«t1: «, t)

# gibt Sekunden von struct_time zurück

s = Zeit.mktime(t)

print(«ns:», Sekunden)

Wir sehen, dass die Variable Sekunden wurden seit der Epoche 1575721830 Sekunden zugewiesen. Zuerst erhält das Programm das genaue Datum, die Uhrzeit und andere Parameter, basierend auf diesem Wert, und fügt es in eine Variable ein t, und konvertiert dann seinen Inhalt in eine Variable s.

Danach schlägt eine neue Zeile ab und zeigt die Anzahl der Sekunden in der Konsole an. Sie können überprüfen, ob es dieselbe Nummer ist, die der Sekundenvariablen zugewiesen wurde.

Ausgabedatum aus 9 Zahlen, die sich auf struct_time beziehen

Angenommen, wir haben 9 Zahlen, die das Jahr, den Monat, das Datum, den Wochentag und eine Reihe anderer Werte darstellen, und wir müssen sie zu einer Zeichenfolge kombinieren. Dazu wird die Funktion verwendet Aufstiegszeit (). Sie akzeptiert oder ist bereit struct_time, oder jedes andere Tupel von 9 Werten, das für dasselbe steht. Danach wird eine Zeichenfolge zurückgegeben, die ein Datum, eine Uhrzeit und eine Reihe anderer Parameter enthält. 

Es ist sehr praktisch, diese Methode zu verwenden, um unterschiedliche benutzerspezifische Daten in eine einzige Variable zu bringen..

Beispielsweise kann es sich um ein Programm handeln, bei dem der Benutzer den Tag, den Monat, das Jahr, den Wochentag und andere Daten bezüglich der Registrierung für eine Veranstaltung separat angibt. Danach werden die erhaltenen Informationen in die Datenbank eingegeben und dann an eine andere Person ausgegeben, die sie anfordert.

Abrufen von Uhrzeit und Datum basierend auf einer Python-Zeichenfolge

Angenommen, der Benutzer hat unterschiedliche Daten angegeben, und wir müssen sie in einer Zeile in dem von der Person eingegebenen Format kombinieren und dann eine Kopie in eine andere Variable erstellen und sie dort in ein Standardformat umwandeln. Dazu wird die Funktion verwendet time.strptime().

Es nimmt eine Variable, in der dieser Wert angegeben ist, und gibt das uns bereits Bekannte zurück struct_time.

Zur Verdeutlichung schreiben wir ein solches Programm.

Importzeit

time_string = «15. Juni 2019»

result = time.strptime(time_string, «%d %B, %Y»)

Drucken (Ergebnis)

Ratet mal, was die Ausgabe sein wird? Versuchen Sie zu erraten, ohne auf das Endergebnis zu schauen. Und dann die Antwort überprüfen.

time.struct_time(tm_year=2019, tm_mon=6, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=166, tm_isdst=-1)

Kurz gesagt, die Arbeit mit Datums- und Zeitangaben in Python ist überhaupt nicht schwierig. Es reicht aus, diese Anweisungen zu befolgen, und alles wird funktionieren. Nutzung der Bibliothek Zeit Der Benutzer erhält eine Vielzahl von Möglichkeiten, mit der Zeit zu arbeiten, wie zum Beispiel:

  1. Unterbrechen Sie die Programmausführung für einen bestimmten Zeitraum.
  2. Zeigt die seit der Epoche vergangene Zeit in Sekunden an. Diese Informationen können verwendet werden, um die Zeit zu summieren oder andere mathematische Operationen damit durchzuführen.
  3. Konvertieren Sie in ein praktisches Format. Außerdem kann der Programmierer selbst einstellen, welche Elemente in welcher Reihenfolge angezeigt werden. 

Es gibt auch eine Reihe anderer Möglichkeiten, aber heute haben wir die grundlegendsten analysiert. Sie werden sich in fast jedem Programm als nützlich erweisen, das irgendwie mit der Zeit arbeitet. Viel Glück.

Hinterlassen Sie uns einen Kommentar