logo

Moduł czasu w Pythonie

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)