Python-tijdmodule
Python-tijdmodule
In dit artikel zullen we de tijdmodule in detail onderzoeken. We zullen aan de hand van voorbeelden leren om verschillende tijdgerelateerde functies te gebruiken die zijn gedefinieerd in de tijdmodule.
Python heeft een module met de naam time
om tijdgerelateerde taken uit te voeren. Om functies te gebruiken die in de module zijn gedefinieerd, moeten we eerst de module importeren. Hier is hoe:
import time
Hier zijn veelgebruikte tijdgerelateerde functies.
Python time.time()
De time()
functie geeft het aantal seconden terug sinds epoch.
Voor Unix-systeem, January 1, 1970, 00:00:00
bij UTC is epoch (het punt waar de tijd begint).
import time
seconds = time.time()
print("Seconds since epoch =", seconds)
Python time.ctime()
De time.ctime()
functie duurt seconden sinds epoch als argument en retourneert een tekenreeks die de lokale tijd vertegenwoordigt.
import time
# seconds passed since epoch
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Local time:", local_time)
Als u het programma uitvoert, ziet de uitvoer er ongeveer zo uit:
Local time: Thu Dec 27 15:49:29 2018
Python time.sleep()
De sleep()
functie onderbreekt (vertraagt) de uitvoering van de huidige thread voor het opgegeven aantal seconden.
import time
print("This is printed immediately.")
time.sleep(2.4)
print("This is printed after 2.4 seconds.")
Ga voor meer informatie naar:Python sleep().
Laten we, voordat we het hebben over andere tijdgerelateerde functies, eens kijken naar time.struct_time
klas in het kort.
time.struct_time Klasse
Verschillende functies in de time
module zoals gmtime()
, asctime()
enz. neem ofwel time.struct_time
object als argument of retourneer het.
Hier is een voorbeeld van time.struct_time
voorwerp.
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 | Kenmerk | Waarden |
---|---|---|
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; Maandag is 0 |
7 | tm_yday | 1, 2, ..., 366 |
8 | tm_isdst | 0, 1 of -1 |
De waarden (elementen) van de time.struct_time
object zijn toegankelijk met zowel indexen als attributen.
Python time.localtime()
De localtime()
functie neemt het aantal verstreken seconden sinds epoche als argument en retourneert struct_time
in lokale tijd .
import time
result = time.localtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)
Wanneer u het programma uitvoert, zal de uitvoer zoiets zijn als:
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
Indien geen argument of None
wordt doorgegeven aan localtime()
, de waarde geretourneerd door time()
wordt gebruikt.
Python time.gmtime()
De gmtime()
functie neemt het aantal verstreken seconden sinds epoche als argument en retourneert struct_time
in UTC .
import time
result = time.gmtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)
Wanneer u het programma uitvoert, is de uitvoer:
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
Indien geen argument of None
wordt doorgegeven aan gmtime()
, de waarde geretourneerd door time()
wordt gebruikt.
Python time.mktime()
De mktime()
functie duurt struct_time
(of een tuple met 9 elementen die overeenkomen met struct_time
) als een argument en retourneert de verstreken seconden sinds epoch in lokale tijd. Kortom, het is de inverse functie van localtime()
.
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("Local time:", local_time)
Het onderstaande voorbeeld laat zien hoe mktime()
en localtime()
zijn gerelateerd.
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)
Wanneer u het programma uitvoert, zal de uitvoer zoiets zijn als:
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()
De asctime()
functie duurt struct_time
(of een tuple met 9 elementen die overeenkomen met struct_time
) als een argument en retourneert een tekenreeks die het voorstelt. Hier is een voorbeeld:
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Result:", result)
Wanneer u het programma uitvoert, is de uitvoer:
Result: Fri Dec 28 08:44:04 2018
Python time.strftime()
De strftime()
functie duurt struct_time
(of tuple die ermee overeenkomt) als een argument en retourneert een tekenreeks die het voorstelt op basis van de gebruikte formaatcode. Bijvoorbeeld,
import time
named_tuple = time.localtime() # get struct_time
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)
Wanneer u het programma uitvoert, zal de uitvoer zoiets zijn als:
12/28/2018, 09:47:41
Hier, %Y
, %m
, %d
, %H
enz. zijn formaatcodes.
%Y
- jaar [0001,..., 2018, 2019,..., 9999]%m
- maand [01, 02, ..., 11, 12]%d
- dag [01, 02, ..., 30, 31]%H
- uur [00, 01, ..., 22, 23%M
- minuten [00, 01, ..., 58, 59]%S
- tweede [00, 01, ..., 58, 61]
Ga voor meer informatie naar:time.strftime().
Python time.strptime()
De strptime()
functie ontleedt een tekenreeks die tijd vertegenwoordigt en retourneert struct_time
.
import time
time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")
print(result)
Wanneer u het programma uitvoert, is de uitvoer:
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)
Python