English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python Grundlagen教程

Python Flusskontrolle

Funktionen in Python

Datentypen in Python

Python Dateioperationen

Python Objekte und Klassen

Python Datum und Zeit

Python Fortgeschrittene Kenntnisse

Python Referenzhandbuch

Modul time in Python

In diesem Artikel werden wir das Modul time im Detail besprechen. Wir lernen, wie man die verschiedenen mit der Zeit verbundenen Funktionen im Modul time verwendet, indem wir Beispiele durchgehen.

Python hat ein Modul namens time für die Verarbeitung von Zeitbezogenen Aufgaben. Um die in diesem Modul definierten Funktionen zu verwenden, müssen wir das Modul zunächst importieren. So geht's:

import time

Hier sind einige gängige Zeitfunktionen.

Python time.time()

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

Für Unix-Systeme, January 1, 1970, 00:00:00 inUTCist Epoch (wo die Zeit beginnt).

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

Python time.ctime()

time.ctime() gibt eine Zeichenkette in der lokalen Zeit zurück, die als Parameter die Anzahl der Sekunden seit Epoch angegeben wird.

import time
# Sekunden seit Epoch
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Local time:", local_time)

Wenn Sie das Programm ausführen, ähnelt die Ausgabe:

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

Python time.sleep()

Die Funktion sleep() pausiert (verzögert) die Ausführung der aktuellen Thread für die angegebene Anzahl von Sekunden.

import time
print("Dies wird sofort gedruckt.")
time.sleep(2.4)
print("Dies ist2.4Nach einer Sekunde abgedruckt. ")

Für weitere Informationen besuchen Sie bitte:sleep() in Python

Bevor wir andere mit der Zeit verbundenen Funktionen besprechen, lassen Sie uns kurz die Klasse time.struct_time erkunden.

time.struct_time-Klasse

Einige Funktionen im Zeitmodul (z.B. gmtime(), asctime() usw.) verwenden das time.struct_time-Objekt als Parameter oder geben es zurück.

Dies ist ein Beispiel für ein time.struct_time-Objekt.

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
AttributAttributswert
0tm_year0000,....,2018,...,9999
1tm_mon1,2,...,12
2tm_mday1,2,...,31
3tm_hour0,1,...,23
4tm_min0,1,...,59
5tm_sec0,1,...,61
6tm_wday0, 1, ..., 6; Montag ist 0
7tm_yday1,2,...,366
8tm_isdst0、1oder-1

Man kann den Wert des time.struct_time-Objekts (Elementen) über Index und Attribut aufrufen.

Python time.localtime()

Die Funktion localtime() gibt die Anzahl der Sekunden seit Epoch als Parameter zurück undlocaltimeRückgabe struct_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 ähnlich sein:

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

Wird None oder kein Parameter an localtime() übergeben, wird der Wert von time() verwendet.

Python time.gmtime()

Die Funktion gmtime() gibt die Anzahl der Sekunden seit der Ära als Parameter zurück und struct_time inUTCRückgabe.

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

Wenn Sie dieses Programm ausführen, wird ausgegeben:

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

Wird None oder kein Parameter an gmtime() übergeben, wird der Wert von time() verwendet.

Python time.mktime()

Die Funktion mktime() gibt struct_time (oder enthält9Ein Tuple von Elementen entspricht struct_time) als Parameter und gibt die Anzahl der Sekunden seit der Ära des lokalen Zeitraums zurück. Grundsätzlich ist es das Gegenteil 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 das Verhältnis zwischen mktime() und localtime().

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 ähnlich sein:

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 Funktion asctime() gibt struct_time (oder enthält9Ein Tuple des Elements entspricht struct_time) als Parameter und gibt eine Zeichenkette zur Verfügung, die es darstellt. Dies ist ein Beispiel:

import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Ergebnis:", result)

Wenn Sie dieses Programm ausführen, wird ausgegeben:

Ergebnis: Fre, Dez 28 08:44:04 2018

Python time.strftime()

Diese strftime()-Funktion nimmt einen struct_time (oder einen entsprechenden Tuple) als Parameter und gibt eine Zeichenkette zurück, die ihn darstellt. Zum Beispiel,

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 ähnlich sein:

12/28/2018, 09:47:41

Hier sind %Y, %m, %d, %H u.ä. Formatcodes.

  • %Y -Jahre [0001,...,2018,2019,...,9999]

  • %m -Monate [01,02,...,11,12]

  • %d -Tage [01,02,...,30,31]

  • %H -Stunden [00, 01,...,22,23

  • %M -Minuten [00, 01,...,58,59]

  • %S -Sekunden [00, 01,...,58,61]

Für weitere Informationen besuchen Sie bitte:time.strftime()

Python time.strptime()

Diese strptime()-Funktion analysiert einen Zeitstring und gibt eine struct_time zurück.

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

Wenn Sie dieses Programm ausführen, wird ausgegeben:

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)