time

Wstrzymywanie programu, znaczniki czasu i dokładny pomiar czasu wykonania kodu.

Na tej stronie

Przykład

#
Python
import time

for seconds in range(3, 0, -1):
    print(f"Start za {seconds}...")
    time.sleep(1)

print("Start!")
Wynikzapisany wynik, możesz go sprawdzić
Start za 3...
Start za 2...
Start za 1...
Start!

Kolejne linie pojawiają się w odstępach jednej sekundy.

Definicja i zastosowanie

#

Moduł time udostępnia podstawowe funkcje związane z czasem. time.sleep(sekundy) wstrzymuje program na podany czas, time.time() zwraca liczbę sekund, które upłynęły od 1 stycznia 1970 roku (tak zwany znacznik czasu Unix), a time.perf_counter() służy do dokładnego mierzenia, ile trwał fragment kodu.

Do pomiarów wybieraj perf_counter(), a nie time(). Zegar systemowy może zostać przestawiony, na przykład przy synchronizacji z internetem, a perf_counter() zawsze rośnie i ma dużą dokładność. Znaczenie ma tylko różnica dwóch odczytów.

Funkcje gmtime(), localtime() i strftime() zamieniają znacznik czasu na datę i tekst. Do obliczeń na datach, takich jak dodawanie dni czy porównywanie terminów, wygodniejszy jest moduł datetime.

Składnia

#
Składnia
import time

time.sleep(sekundy)
time.time()
time.perf_counter()
time.strftime(format, struct_time)

Więcej przykładów

#
Pomiar czasu wykonania
Python
import time

start = time.perf_counter()
total = sum(n * n for n in range(1_000_000))
elapsed = time.perf_counter() - start

print(total)
print(f"Obliczenia trwały {elapsed:.3f} s")
Wynik
Kliknij Uruchom, żeby zobaczyć wynik.

Pierwsza linia to zawsze 333332833333500000. Zmierzony czas zależy od komputera, np. Obliczenia trwały 0.041 s.

Znacznik czasu zamieniony na datę
Python
import time

moment = time.gmtime(1_790_000_000)
print(moment.tm_year, moment.tm_mon, moment.tm_mday)
print(time.strftime("%Y-%m-%d %H:%M:%S", moment))
Wynikzapisany wynik, możesz go sprawdzić
2026 9 21
2026-09-21 14:13:20

gmtime() podaje czas UTC. Czas lokalny zwraca localtime(), a bieżący znacznik czasu time.time().

Dobre praktyki

#
  • Czas działania kodu mierz przez time.perf_counter(). Do porównywania wydajności krótkich fragmentów służy też moduł timeit.
  • W programach asynchronicznych nie używaj time.sleep(), bo blokuje całą pętlę zdarzeń. Zamiast tego napisz await asyncio.sleep().

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.