W tym artykule omówimy moduł czasu i różne funkcje udostępniane przez ten moduł za pomocą dobrych przykładów.
Jak sama nazwa wskazuje, moduł czasu w Pythonie pozwala na pracę z czasem Pyton . Umożliwia takie funkcje, jak pobieranie aktualnego czasu, wstrzymywanie wykonywania programu itp. Dlatego przed rozpoczęciem pracy z tym modułem musimy go zaimportować.
Import modułu czasu
Moduł czasu jest dostarczany ze standardowym modułem narzędziowym Pythona, więc nie ma potrzeby instalowania go z zewnątrz. Możemy po prostu zaimportować go za pomocą pliku oświadczenie importowe .
import time>
Co to jest epoka?
Epoka to punkt, w którym rozpoczyna się czas i zależy od platformy. W systemie Windows i większości systemów Unix epoką jest 1 stycznia 1970 r., godzina 00:00:00 (UTC), a sekundy przestępne nie są wliczane do czasu w sekundach, jakie upłynęły od epoki. Aby sprawdzić jaka jest epoka na danej platformie możemy skorzystać czas.gmtime(0) .
Przykład: Dostaję epokę
W kodzie zastosowanotime>moduł do wydrukowania wynikutime.gmtime(0)>, który reprezentuje czas w strefie czasowej GMT (Greenwich Mean Time) w epoce Uniksa (1 stycznia 1970, 00:00:00 UTC).
Python3
import> time> print>(time.gmtime(>0>))> |
>
>
Wyjście:
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
Notatka: Czas poprzedzający epokę nadal można przedstawić w sekundach, ale będzie on ujemny. Na przykład data 31 grudnia 1969 będzie reprezentowana jako -86400 sekund.
Uzyskiwanie aktualnego czasu w sekundach od epoki
czas czas() metody zwracają bieżący czas w sekundach od epoki. Zwraca liczbę zmiennoprzecinkową.
Przykład: Aktualny czas w sekundach od epoki
W kodzie zastosowanotime>moduł do pobierania bieżącego czasu w sekundach od epoki Uniksa (1 stycznia 1970).
Python3
import> time> curr>=> time.time()> print>(>'Current time in seconds since epoch ='>, curr)> |
>
>Wyjście
Current time in seconds since epoch = 1627908387.764925>
Pobieranie ciągu czasu z sekund
czas.cczas() funkcja zwraca 24-znakowy ciąg czasu, ale jako argument przyjmuje sekundy i oblicza czas do podanych sekund. Jeśli nie zostanie przekazany żaden argument, czas jest liczony do chwili obecnej.
Przykład: Pobieranie ciągu czasu z sekund
W kodzie zastosowanotime>moduł do konwersji określonego znacznika czasu (1627908313.717886) na czytelny dla człowieka format daty i godziny.
Python3
import> time> curr>=> time.ctime(>1627908313.717886>)> print>(>'Current time:'>, curr)> |
>
>Wyjście
Current time: Mon Aug 2 12:45:13 2021>
Opóźnianie wykonywania programów
Wykonanie można opóźnić za pomocą czas spać() metoda. Metoda ta służy do wstrzymania wykonywania programu na czas określony w argumentach.
Przykład: Opóźnianie czasu wykonywania programów w Pythonie.
Ten kod używatime>moduł do wprowadzenia jednosekundowego opóźnienia za pomocą time.sleep(1)> wewnątrz pętli, która iteruje cztery razy.
Python3
import> time> for> i>in> range>(>4>):> >time.sleep(>1>)> >print>(i)> |
>
>Wyjście
0 1 2 3>
time.struct_time Klasa
Czas_struktury class pomaga uzyskać dostęp do czasu lokalnego, tj. nieepokowych znaczników czasu. Zwraca nazwaną krotkę, której wartość jest dostępna zarówno poprzez indeks, jak i nazwę atrybutu. Jego obiekt zawiera następujące atrybuty –
| Indeks | Nazwa atrybutu | Wartości |
|---|---|---|
| 0 | tm_rok | 0000, …, 9999 |
| 1 | tm_mon | 1, 2, …, 11, 12 |
| 2 | tm_dzień | 1, 2, …, 30, 31 |
| 3 | tm_godzina | 0, 1, …, 22, 23 |
| 4 | tm_min | 0, 1, …, 58, 59 |
| 5 | tm_sek | 0, 1, …, 60, 61 |
| 6 | tm_wdzień | 0, 1, …, 6; Niedziela jest 6 |
| 7 | tm_dzień | 1, 2, …, 365, 366 |
| 8 | tm_isdst | 0, 1 lub -1 |
Klasa ta zawiera różne funkcje. Omówmy szczegółowo każdą funkcję.
metoda time.localtime().
czas lokalny() metoda zwraca obiekt struct_time w czasie lokalnym. Jako argument przyjmuje liczbę sekund, które upłynęły od epoki. Jeżeli nie podano parametru sekundy, używany jest aktualny czas zwracany przez metodę time.time().
Przykład: Pobieranie czasu lokalnego z epoki
W kodzie zastosowanotime>moduł do konwersji określonego znacznika czasu (1627987508.6496193) na time.struct_time> obiekt reprezentujący odpowiednią datę i godzinę.
aryjski chan
Python3
import> time> obj>=> time.localtime(>1627987508.6496193>)> print>(obj)> |
>
>
Wyjście
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=16, tm_min=15, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=0)
metoda time.mktime().
czas.mktime() jest funkcją odwrotną time.localtime(), która konwertuje czas wyrażony w sekundach od epoki na obiekt time.struct_time w czasie lokalnym.
Przykład: Konwersja czas_struktury sprzeciwiam się sekundom od epoki
Ten kod najpierw używatime>moduł do konwersji określonego znacznika czasu (1627987508.6496193) na time.struct_time> obiekt w strefie czasowej GMT (czas uniwersalny Greenwich). time.gmtime()> . Następnie wykorzystuje time.mktime()> aby to przekonwertować time.struct_time> obiekt z powrotem do znacznika czasu.
Python3
import> time> obj1>=> time.gmtime(>1627987508.6496193>)> time_sec>=> time.mktime(obj1)> print>(>'Local time (in seconds):'>, time_sec)> |
>
>Wyjście
Local time (in seconds): 1627987508.0>
metoda time.gmtime().
czas.gmtime() służy do konwersji czasu wyrażonego w sekundach od epoki na obiekt time.struct_time w formacie UTC, w którym atrybut tm_isdst ma zawsze wartość 0. Jeżeli nie podano parametru sekundy, używany jest bieżący czas zwracany przez metodę time.time().
Przykład: Zastosowanie czas.gmtime() metoda
W kodzie zastosowanotime>moduł do konwersji określonego znacznika czasu (1627987508.6496193) na time.struct_time> obiekt reprezentujący odpowiednią datę i godzinę w strefie czasowej GMT (Greenwich Mean Time).
Python3
import> time> obj>=> time.gmtime(>1627987508.6496193>)> print>(obj)> |
>
>
Wyjście
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=10, tm_min=45, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=0)
metoda time.strftime().
czas.strftime() Funkcja konwertuje krotkę lub struct_time reprezentującą czas zwrócony przez gmtime() lub localtime() na ciąg znaków określony w argumencie formatu. Jeżeli t nie zostanie podane, używany będzie aktualny czas zwrócony przez funkcję localtime(). Format musi być ciągiem. ValueError jest zgłaszany, jeśli którekolwiek pole w t znajduje się poza dozwolonym zakresem.
Przykład: Konwersja czas_struktury obiekt do ciągu znaków przy użyciu metody strftime().
W kodzie zastosowano gmtime> funkcja ztime>moduł do konwersji określonego znacznika czasu (1627987508.6496193) na sformatowany ciąg znaków za pomocąstrftime>. Dane wyjściowe reprezentują datę i godzinę w strefie czasowej GMT (Greenwich Mean Time) w formacie określonym przez ciąg formatujący.
Python3
rozdaj mapę
from> time>import> gmtime, strftime> s>=> strftime(>'%a, %d %b %Y %H:%M:%S'>,> >gmtime(>1627987508.6496193>))> print>(s)> |
>
>Wyjście
Tue, 03 Aug 2021 10:45:08>
metoda time.asctime().
czas.asctime() Metoda służy do konwersji krotki lub obiektu time.struct_time reprezentującego czas zwrócony przez metodę time.gmtime() lub time.localtime() na ciąg znaków w następującej postaci:
Day Mon Date Hour:Min:Sec Year>
Przykład: Konwersja krotki na obiekt time.struct_time na ciąg znaków
Ten kod używatime>moduł do konwersji określonego znacznika czasu (1627987508.6496193) na czytelny dla człowieka format daty i godziny za pomocą time.asctime()> . Dzieje się tak zarówno w przypadku strefy czasowej GMT (czasu Greenwich), jak i lokalnej strefy czasowej.
Python3
import> time> obj>=> time.gmtime(>1627987508.6496193>)> time_str>=> time.asctime(obj)> print>(time_str)> obj>=> time.localtime(>1627987508.6496193>)> time_str>=> time.asctime(obj)> print>(time_str)> |
>
>Wyjście
Tue Aug 3 10:45:08 2021 Tue Aug 3 10:45:08 2021>
metoda time.strptime().
Metoda time.strptime() konwertuje ciąg reprezentujący czas na obiekt struct_time.
Przykład: Konwersja ciągu na czas_struktury obiekt.
Ten kod używatime>moduł do analizowania sformatowanego ciągu znaków reprezentującego datę i godzinę i konwertowania go na plik time.struct_time> obiekt. Thetime.strptime()>W tym celu wykorzystywana jest funkcja.
Python3
import> time> string>=> 'Tue, 03 Aug 2021 10:45:08'> obj>=> time.strptime(string,>'%a, %d %b %Y %H:%M:%S'>)> print>(obj)> |
>
>
Wyjście
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=3, tm_hour=10, tm_min=45, tm_sec=8, tm_wday=1, tm_yday=215, tm_isdst=-1)