Python's time-module beheersen: functies, structs en praktische voorbeelden
Python time-module
Verken de standaard time-module in Python, leer de kernfuncties en zie duidelijke voorbeelden die real-world gebruik demonstreren.
Python's time-module levert tools voor het werken met timestamps, scheduling en het meten van verstreken tijd. Voordat je een functie gebruikt, importeer de module:
import time
time.time()
De time()-functie retourneert de huidige tijd in seconden sinds de Unix-epoch (00:00:00 UTC op 1 januari 1970). Op Unix-achtige systemen is deze epoch-waarde vast; op Windows wordt deze afgeleid van hetzelfde punt.
import time
seconds = time.time()
print("Seconden sinds epoch =", seconds)
time.ctime()
Converteert een POSIX-timestamp (seconden sinds epoch) naar een leesbare string in de lokale tijdzone.
import time
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Lokale tijd:", local_time)
Typische output:
Lokale tijd: Do 27 Dec 15:49:29 2018
time.sleep()
Vertraagt de uitvoering van de huidige thread voor het opgegeven aantal seconden.
import time
print("Dit wordt direct geprint.")
time.sleep(2.4)
print("Dit wordt na 2.4 seconden geprint.")
Voor meer details, zie de Python sleep()-documentatie.
time.struct_time-klasse
Functies zoals gmtime() en asctime() retourneren of accepteren een time.struct_time-object, een 9-tuple dat een kalendertijd voorstelt.
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 | Attribuut | Waarden |
|---|---|---|
| 0 | tm_year | 0000 … 9999 |
| 1 | tm_mon | 1 … 12 |
| 2 | tm_mday | 1 … 31 |
| 3 | tm_hour | 0 … 23 |
| 4 | tm_min | 0 … 59 |
| 5 | tm_sec | 0 … 61 |
| 6 | tm_wday | 0 (Ma) … 6 (Zo) |
| 7 | tm_yday | 1 … 366 |
| 8 | tm_isdst | 0, 1 of -1 |
Je kunt elementen benaderen via index of attribuutnaam.
time.localtime()
Converteert een POSIX-timestamp naar een struct_time uitgedrukt in de lokale tijdzone. Indien weggelaten, wordt de huidige tijd gebruikt.
import time
result = time.localtime(1545925769)
print("resultaat:", result)
print("\njaar:", result.tm_year)
print("tm_hour:", result.tm_hour)
Typische output:
resultaat: 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) jaar: 2018 tm_hour: 15
time.gmtime()
Hetzelfde als localtime() maar retourneert UTC (GMT)-tijd. Weggelaten argument standaard de huidige epoch-waarde.
import time
result = time.gmtime(1545925769)
print("resultaat:", result)
print("\njaar:", result.tm_year)
print("tm_hour:", result.tm_hour)
Typische output:
resultaat: 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) jaar: 2018 tm_hour: 8
time.mktime()
Converteert een lokale struct_time (of zijn 9-tuple) terug naar een POSIX-timestamp. Het is effectief de inverse van localtime().
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("Lokale tijd:", local_time)
Voorbeeld van de round-trip:
import time
seconds = 1545925769
t = time.localtime(seconds)
print("t1:", t)
s = time.mktime(t)
print("\ns:", s)
Typische output:
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
time.asctime()
Formatteert een struct_time (of tuple) naar een voor mensen leesbare string.
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Resultaat:", result)
Typische output:
Resultaat: Vr 28 Dec 08:44:04 2018
time.strftime()
Formatteert een struct_time naar een aangepaste string op basis van formatcodes.
import time
named_tuple = time.localtime()
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)
Typische output:
12/28/2018, 09:47:41
Veelvoorkomende formatcodes zijn:
%Y– vol jaar (bijv. 2018)%m– maand 01–12%d– dag 01–31%H– uur 00–23%M– minuut 00–59%S– seconde 00–61 (schrikkelsecondes)
Voor meer formatcodes, zie de time.strftime()-documentatie.
time.strptime()
Parsed een string volgens een opgegeven formaat en retourneert een struct_time.
import time
time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")
print(result)
Typische output:
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
- Python Keywords en Identifiers: Gereserveerde woorden en naamconventies onder de knie krijgen
- Python Datatypes onder de knie krijgen: Een praktische gids
- Python Operators onder de knie krijgen: Een uitgebreide gids
- Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
- Python Modules: Aanmaken, Importeren en Geavanceerd Gebruik
- Python-dictionaries beheersen: aanmaken, manipuleren en geavanceerde technieken
- Python Regular Expressions (re-module) – een praktische gids
- Huidige datum en tijd ophalen in Python: een praktische gids
- Python: Huidige tijd en tijdzonedata eenvoudig ophalen
- Python's time.sleep() onder de knie krijgen: best practices, multithreading en real-world voorbeelden
- Python timeit() – Uitvoeringstijd meten met praktische voorbeelden