Python time Module

Table of Contents

 

In diesem Artikel werden wir das Zeitmodul im Detail erkunden. Wir werden lernen, verschiedene zeitbezogene Funktionen, die im Zeitmodul definiert sind, mit Hilfe von Beispielen zu verwenden.

 

Python hat ein Modul namens time um zeitbezogene Aufgaben zu erledigen. Um die im Modul definierten Funktionen zu verwenden, müssen wir das Modul zuerst importieren. So geht’s:

 

import time

 

 


 

 

Hier finden Sie häufig verwendete zeitbezogene Funktionen.

Python time.time()

 

 

Die time() Funktion gibt die Anzahl der Sekunden zurück, die seit Epoch vergangen sind.

 

Für Unix-System, January 1, 1970, 00:00:00 at UTC ist Epoche (der Punkt, an dem die Zeit beginnt).

import time
seconds = time.time()
print("Seconds since epoch =", seconds)

 


 

Python time.ctime()

 

Die time.ctime() Funktion nimmt die seit der Epoche vergangenen Sekunden als Argument und gibt eine Zeichenkette zurück, die die lokale Zeit darstellt.

import time

# seconds passed since epoch
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Local time:", local_time)

 

Wenn Sie das Programm ausführen, wird die Ausgabe in etwa so aussehen:

Local time: Thu Dec 27 15:49:29 2018

 


 

Python time.sleep()

 

Die sleep() Funktion suspendiert (verzögert) die Ausführung des aktuellen Threads für die angegebene Anzahl von Sekunden.

import time

print("Dieser wird sofort gedruckt.")
time.sleep(2.4)
print("This is printed after 2.4 seconds.")

 

Um mehr zu erfahren, besuchen Sie: Python sleep().

 


 

Bevor wir über andere zeitbezogene Funktionen sprechen, wollen wir uns mit time.struct_time Klasse in Kürze.

 


 

time.struct_time Class

 

 

Mehrere Funktionen im time Modul wie z.B. gmtime(), asctime() usw. nehmen entweder time.struct_time Objekt als Argument verwenden oder es zurückgeben.

 

Hier ist ein Beispiel für time.struct_time object.

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 Attribute Values
0 tm_year 0000, …., 2018, …, 9999
1 tm_mon 1, 2, …, 12
2 tm_mday 1, 2, …, 31
3 tm_hour 0, 1, …, 23
4 tm_min 0, 1, …, 59
5 tm_sec 0, 1, …, 61
6 tm_wday 0, 1, …, 6; Monday is 0
7 tm_yday 1, 2, …, 366
8 tm_isdst 0, 1 or -1

 

Die Werte (Elemente) des time.struct_time Objekts sind sowohl über Indizes als auch über Attribute zugänglich.

 


 

Python time.localtime()

 

 

Die localtime() Funktion nimmt die Anzahl der seit Epoch vergangenen Sekunden als Argument und gibt struct_time in local time.

 

import time

result = time.localtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)

 

Wenn Sie das Programm ausführen, wird die Ausgabe in etwa so aussehen:

result: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0)

year: 2018
tm_hour: 15

 

Wenn kein Argument oder None wird weitergegeben an localtime(), der von zurückgegebene Wert time() wird eingesetzt.

 


 

Python time.gmtime()

 

 

Die gmtime() Funktion nimmt die Anzahl der seit Epoch vergangenen Sekunden als Argument und gibt struct_time in UTC.

import time

result = time.gmtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)

 

Wenn Sie das Programm ausführen, wird die Ausgabe sein:

result = time.struct_time(tm_year=2018, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=44, tm_sec=4, tm_wday=4, tm_yday=362, tm_isdst=0)

year = 2018
tm_hour = 8

 

 

Wenn kein Argument oder None wird weitergegeben an gmtime(), der von zurückgegebene Wert time() wird eingesetzt.

 


 

 

Python time.mktime()

 

Die mktime() Funktion nimmt struct_time (oder ein Tupel mit 9 Elementen entsprechendstruct_time) als Argument und gibt die seit der Epoche verstrichenen Sekunden in lokaler Zeit zurück. Im Grunde ist es die Umkehrfunktion von localtime().

 

import time

t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)

local_time = time.mktime(t)
print("Local time:", local_time)

 

 


 

Das folgende Beispiel zeigt, wie mktime() und localtime() sind verwandt.

 

import time

seconds = 1545925769

# returns struct_time
t = time.localtime(seconds)
print("t1: ", t)

# returns seconds from struct_time
s = time.mktime(t)
print("\s:", seconds)

 

Wenn Sie das Programm ausführen, wird die Ausgabe in etwa so aussehen:

t1:  time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0)

s: 1545925769.0

 


 

Python time.asctime()

 

Die asctime() Funktion nimmt struct_time (oder ein Tupel mit 9 Elementen entsprechend struct_time) als Argument und gibt einen String zurück, der es repräsentiert. Hier ist ein Beispiel:

 

import time

t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)

result = time.asctime(t)
print("Result:", result)

 

Wenn Sie das Programm ausführen, wird die Ausgabe sein:

Result: Fri Dec 28 08:44:04 2018

 


 

 

Python time.strftime()

 

 

Die strftime() Funktion nimmtstruct_time (oder ein ihm entsprechendes Tupel) als Argument und gibt eine Zeichenfolge zurück, die es basierend auf dem verwendeten Formatcode darstellt. Beispielsweise,

import time

named_tuple = time.localtime() # get struct_time
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)

print(time_string)

 

Wenn Sie das Programm ausführen, wird die Ausgabe in etwa so aussehen:

12/28/2018, 09:47:41

 

Hier, %Y, %m, %d, %H usw. sind Format codes.

 

  • %Y – jahr [0001,…, 2018, 2019,…, 9999]
  • %m – monat [01, 02, …, 11, 12]
  • %d – tag [01, 02, …, 30, 31]
  • %H – stunde [00, 01, …, 22, 23
  • %M – protokoll [00, 01, …, 58, 59]
  • %S – zweite [00, 01, …, 58, 61]

 

Um mehr zu erfahren, besuchen Sie: time.strftime().

 


 

Python time.strptime()

 

Die strptime() Funktion analysiert einen String, der die Zeit repräsentiert, und gibt zurück struct_time.

import time

time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")

print(result)

 

Wenn Sie das Programm ausführen, lautet die Ausgabe:

 

time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=172, tm_isdst=-1)