logo

Python tidsmodul

I den här artikeln kommer vi att diskutera tidsmodulen och olika funktioner som denna modul tillhandahåller med hjälp av goda exempel.

Som namnet antyder tillåter Python-tidsmodulen att arbeta med tiden in Pytonorm . Det tillåter funktionalitet som att få aktuell tid, pausa programmet från att köras, etc. Så innan vi börjar med den här modulen måste vi importera den.



Importerar tidsmodul

Tidsmodulen kommer med Pythons standardverktygsmodul, så det finns inget behov av att installera den externt. Vi kan helt enkelt importera den med hjälp av importförklaring .

import time>

Vad är epok?

Epok är punkten där tiden börjar och är plattformsberoende. På Windows och de flesta Unix-system är epoken 1 januari 1970, 00:00:00 (UTC), och skottsekunder räknas inte mot tiden i sekunder sedan epoken. För att kontrollera vad epoken är på en given plattform kan vi använda time.gmtime(0) .

Exempel: Får epok



Koden användertime>modul att skriva ut resultatet avtime.gmtime(0)>, som representerar tiden i GMT-tidszonen (Greenwich Mean Time) vid Unix-epoken (1 januari 1970, 00:00:00 UTC).

Python3






import> time> print>(time.gmtime(>0>))>

>

>

Produktion:

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)

Notera: Tiden före epoken kan fortfarande representeras i sekunder men den kommer att vara negativ. Till exempel kommer 31 december 1969 att representeras som -86400 sekunder.

Hämtar aktuell tid i sekunder sedan epok

time.time() metoder returnerar den aktuella tiden i sekunder sedan epok. Den returnerar ett flyttal.

Exempel: Aktuell tid i sekunder sedan epok

Koden användertime>modul för att hämta den aktuella tiden i sekunder sedan Unix-epoken (1 januari 1970).

Python3




import> time> curr>=> time.time()> print>(>'Current time in seconds since epoch ='>, curr)>

>

>

Produktion

Current time in seconds since epoch = 1627908387.764925>

Får tidssträng från sekunder

time.ctime() funktionen returnerar en tidssträng på 24 tecken men tar sekunder som argument och beräknar tiden till nämnda sekunder. Om inget argument passeras, beräknas tiden till nutid.

Exempel: Får tidssträng från sekunder

Koden användertime>modul för att konvertera en specificerad tidsstämpel (1627908313.717886) till ett läsbart datum- och tidsformat.

Python3




import> time> curr>=> time.ctime(>1627908313.717886>)> print>(>'Current time:'>, curr)>

>

>

Produktion

Current time: Mon Aug 2 12:45:13 2021>

Att fördröja exekvering av program

Utförande kan försenas med hjälp av time.sleep() metod. Denna metod används för att stoppa programexekveringen under den tid som anges i argumenten.

Exempel: Fördröjning av körningstid för program i Python.

Denna kod användertime>modul för att införa en fördröjning på en sekund med hjälp av time.sleep(1)> inuti en slinga som itererar fyra gånger.

Python3




import> time> for> i>in> range>(>4>):> >time.sleep(>1>)> >print>(i)>

>

>

Produktion

0 1 2 3>

time.struct_time Klass

Struktur_tid klass hjälper till att komma åt lokal tid, dvs icke-epokala tidsstämplar. Den returnerar en namngiven tupel vars värde kan nås av både index och attributnamn. Dess objekt innehåller följande attribut –

Index Attributnamn Värderingar
0 tm_år 0000, …, 9999
1 tm_mon 1, 2, …, 11, 12
2 tm_mday 1, 2, …, 30, 31
3 tm_hour 0, 1, …, 22, 23
4 tm_min 0, 1, …, 58, 59
5 tm_sek 0, 1, …, 60, 61
6 tm_wday 0, 1, …, 6; Söndagen är 6
7 tm_yday 1, 2, …, 365, 366
8 tm_isdst 0, 1 eller -1

Denna klass innehåller olika funktioner. Låt oss diskutera varje funktion i detalj.

time.localtime() metod

lokal tid() metod returnerar objektet struct_time i lokal tid. Det tar antalet sekunder som gått sedan epok som ett argument. Om parametern seconds inte anges används den aktuella tiden som returneras av metoden time.time().

Exempel: Få lokal tid från epok

Koden användertime>modul för att konvertera en specificerad tidsstämpel (1627987508.6496193) till en time.struct_time> objekt som representerar motsvarande datum och tid.

dfa automata exempel

Python3




import> time> obj>=> time.localtime(>1627987508.6496193>)> print>(obj)>

>

>

Produktion

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)

time.mktime() metod

time.mktime() är den inversa funktionen av time.localtime() som omvandlar tiden uttryckt i sekunder sedan epoken till ett time.struct_time-objekt i lokal tid.

Exempel: Konvertera struct_time invända mot sekunder sedan epok

Denna kod använder försttime>modul för att konvertera en specificerad tidsstämpel (1627987508.6496193) till en time.struct_time> objekt i GMT-tidszonen (Greenwich Mean Time) med hjälp av time.gmtime()> . Sedan använder den time.mktime()> att konvertera detta time.struct_time> objektet tillbaka till en tidsstämpel.

Python3




import> time> obj1>=> time.gmtime(>1627987508.6496193>)> time_sec>=> time.mktime(obj1)> print>(>'Local time (in seconds):'>, time_sec)>

>

>

Produktion

Local time (in seconds): 1627987508.0>

time.gmtime() metod

time.gmtime() används för att konvertera en tid uttryckt i sekunder sedan epoken till ett time.struct_time-objekt i UTC där attributet tm_isdst alltid är 0. Om parametern seconds inte anges används den aktuella tiden som returneras av time.time()-metoden.

Exempel: Användning av time.gmtime() metod

Koden användertime>modul för att konvertera en specificerad tidsstämpel (1627987508.6496193) till en time.struct_time> objekt som representerar motsvarande datum och tid i GMT-tidszonen (Greenwich Mean Time).

Python3




import> time> obj>=> time.gmtime(>1627987508.6496193>)> print>(obj)>

>

>

Produktion

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)

time.strftime() metod

time.strftime() funktion konverterar en tupel eller struct_time som representerar en tid som returneras av gmtime() eller localtime() till en sträng som specificeras av formatargumentet. Om t inte anges används den aktuella tiden som returneras av localtime(). Formatet måste vara en sträng. ValueError höjs om något fält i t ligger utanför det tillåtna intervallet.

Exempel: Konverterar struct_time objekt till en sträng med metoden strftime().

Koden använder gmtime> funktion fråntime>modul för att konvertera en specificerad tidsstämpel (1627987508.6496193) till en formaterad sträng medstrftime>. Utdata representerar datum och tid i GMT-tidszonen (Greenwich Mean Time) i det format som anges av formatsträngen.

Python3




parseint java
from> time>import> gmtime, strftime> s>=> strftime(>'%a, %d %b %Y %H:%M:%S'>,> >gmtime(>1627987508.6496193>))> print>(s)>

>

>

Produktion

Tue, 03 Aug 2021 10:45:08>

time.asctime() metod

time.asctime() metod används för att konvertera en tupel eller ett time.struct_time-objekt som representerar en tid som returneras av metoden time.gmtime() eller time.localtime() till en sträng av följande form:

Day Mon Date Hour:Min:Sec Year>

Exempel: Konverterar tuple till time.struct_time-objekt till sträng

Denna kod användertime>modul för att konvertera en specificerad tidsstämpel (1627987508.6496193) till ett av människor läsbart datum- och tidsformat med time.asctime()> . Det gör det både för GMT-tidszonen (Greenwich Mean Time) och den lokala tidszonen.

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)>

>

>

Produktion

Tue Aug 3 10:45:08 2021 Tue Aug 3 10:45:08 2021>

time.strptime() metod

metoden time.strptime() konverterar strängen som representerar tid till objektet struct_time.

Exempel: Konverterar sträng till struct_time objekt.

Denna kod användertime>modul för att analysera en formaterad sträng som representerar ett datum och en tid och konvertera den till en time.struct_time> objekt. Detime.strptime()>funktionen används för detta ändamål.

Python3




import> time> string>=> 'Tue, 03 Aug 2021 10:45:08'> obj>=> time.strptime(string,>'%a, %d %b %Y %H:%M:%S'>)> print>(obj)>

>

>

Produktion

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)