logo

Python-aikamoduuli

Tässä artikkelissa käsittelemme aikamoduulia ja tämän moduulin tarjoamia eri toimintoja hyvien esimerkkien avulla.

Kuten nimestä voi päätellä, Python-aikamoduuli mahdollistaa työskentelyn ajan kanssa Python . Se mahdollistaa toimintoja, kuten kellonajan saamisen, ohjelman suorittamisen keskeyttämisen jne. Ennen kuin aloitamme tämän moduulin kanssa, meidän on tuotava se.

Tuodaan aikamoduulia

Aikamoduulin mukana tulee Pythonin vakioapumoduuli, joten sitä ei tarvitse asentaa ulkoisesti. Voimme yksinkertaisesti tuoda sen käyttämällä tuontilausunto .



import time>

Mikä on aikakausi?

Epookki on piste, josta aika alkaa ja on alustasta riippuvainen. Windowsissa ja useimmissa Unix-järjestelmissä aikakausi on 1. tammikuuta 1970, 00:00:00 (UTC), eikä karkaussekunteja lasketa sekunteina ilmoitettuun aikaan kaudesta. Voimme käyttää tarkastaaksemme, mikä aikakausi on tietyllä alustalla aika.gmtime(0) .

Esimerkki: Alkaa aikakausi

Koodi käyttäätime>moduuli tulostaaksesi tuloksentime.gmtime(0)>, joka edustaa aikaa GMT-aikavyöhykkeellä (Greenwich Mean Time) Unix-aikakaudella (1. tammikuuta 1970, 00:00:00 UTC).

Python 3




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

>

>

Lähtö:

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

Huomautus: Aikakautta edeltävä aika voidaan silti esittää sekunteina, mutta se on negatiivinen. Esimerkiksi 31. joulukuuta 1969 esitetään -86400 sekuntia.

Haetaan nykyinen aika sekunteina aikakauden jälkeen

aika.aika() menetelmät palauttavat nykyisen ajan sekunteina epookista. Se palauttaa liukulukuluvun.

Esimerkki: Nykyinen aika sekunteina kaudesta

Koodi käyttäätime>moduuli noutaa nykyisen ajan sekunteina Unix-epookista (1. tammikuuta 1970).

Python 3




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

>

>

Lähtö

Current time in seconds since epoch = 1627908387.764925>

Haetaan aikamerkkijono sekunneista

aika.ctime() funktio palauttaa 24 merkin aikajonon, mutta käyttää sekunteja argumenttina ja laskee ajan mainittuihin sekunteihin. Jos argumenttia ei hyväksytä, aika lasketaan nykyhetkeen.

Esimerkki: Haetaan aikamerkkijono sekunneista

Koodi käyttäätime>moduuli muuntaa tietyn aikaleiman (1627908313.717886) ihmisen luettavaan päivämäärä- ja aikamuotoon.

Python 3




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

>

>

Lähtö

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

Ohjelmien suorittamisen viivästyminen

Suoritusta voidaan viivyttää käyttämällä time.sleep() menetelmä. Tätä menetelmää käytetään pysäyttämään ohjelman suorittaminen argumenteissa määritetyksi ajaksi.

Esimerkki: Pythonin ohjelmien suoritusajan viivästyminen.

Tämä koodi käyttäätime>moduuli ottaa käyttöön yhden sekunnin viiveen käyttämällä time.sleep(1)> neljä kertaa toistuvan silmukan sisällä.

Python 3




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

>

>

Lähtö

0 1 2 3>

time.struct_time Class

Rakenneaika luokka auttaa pääsemään paikalliseen aikaan eli ei-epokaalisiin aikaleimoihin. Se palauttaa nimetyn monikon, jonka arvoa voidaan käyttää sekä indeksin että attribuutin nimellä. Sen objekti sisältää seuraavat attribuutit -

Indeksi ominaisuuden nimi Arvot
0 tm_year 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_sec 0, 1, …, 60, 61
6 tm_wday 0, 1, …, 6; Sunnuntai on 6
7 tm_yday 1, 2, …, 365, 366
8 tm_isdst 0, 1 tai -1

Tämä luokka sisältää erilaisia ​​toimintoja. Keskustellaan jokaisesta toiminnosta yksityiskohtaisesti.

time.localtime() -menetelmä

paikallinen aika() Metodi palauttaa struct_time-objektin paikallisessa ajassa. Se ottaa argumentiksi epookista kuluneiden sekuntien määrän. Jos sekuntiparametria ei anneta, käytetään time.time() -menetelmän palauttamaa nykyistä aikaa.

Esimerkki: Haetaan paikallista aikaa aikakaudelta

Koodi käyttäätime>moduuli muuntaa tietyn aikaleiman (1627987508.6496193) time.struct_time> vastaavaa päivämäärää ja aikaa edustava objekti.

strep c

Python 3




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

>

>

Lähtö

aika.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() -menetelmä

aika.mktime() on time.localtime()-funktion käänteisfunktio, joka muuntaa sekunteina ilmaistun ajan epookista aika.struct_time-objektiksi paikallisessa ajassa.

Esimerkki: Muuntaminen struct_time vastustaa sekunteja aikakaudesta

Tämä koodi käyttää ensintime>moduuli muuntaa tietyn aikaleiman (1627987508.6496193) time.struct_time> kohde GMT (Greenwich Mean Time) -aikavyöhykkeellä käyttäen time.gmtime()> . Sitten se käyttää time.mktime()> muuntaaksesi tämän time.struct_time> objekti takaisin aikaleimaan.

Python 3




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

>

>

Lähtö

Local time (in seconds): 1627987508.0>

time.gmtime() -menetelmä

aika.gmtime() käytetään muuttamaan sekunteina ilmaistu aika epookista lähtien time.struct_time-objektiksi UTC:ssä, jossa tm_isdst-attribuutti on aina 0. Jos sekuntiparametria ei anneta, käytetään time.time()-metodin palauttamaa nykyistä aikaa.

Esimerkki: Käyttö aika.gmtime() menetelmä

Koodi käyttäätime>moduuli muuntaa tietyn aikaleiman (1627987508.6496193) time.struct_time> objekti, joka edustaa vastaavaa päivämäärää ja aikaa GMT-aikavyöhykkeellä (Greenwich Mean Time).

Python 3




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

>

>

Lähtö

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() -menetelmä

time.strftime() funktio muuntaa monikon tai struct_timen, joka edustaa gmtime()- tai localtime()-parametrin palauttamaa aikaa, muotoargumentin määrittämäksi merkkijonoksi. Jos t:tä ei anneta, käytetään paikallisaika():n palauttamaa nykyistä aikaa. Muodon on oltava merkkijono. ValueError nostetaan, jos jokin kentässä t on sallitun alueen ulkopuolella.

Esimerkki: Muunnetaan struct_time objekti merkkijonoon strftime()-menetelmällä

Koodi käyttää gmtime> toiminto alkaentime>moduuli muuntaa määritetyn aikaleiman (1627987508.6496193) muotoilluksi merkkijonoksi käyttämällästrftime>. Tulos edustaa päivämäärää ja aikaa GMT-aikavyöhykkeellä (Greenwich Mean Time) muotomerkkijonon määrittämässä muodossa.

Python 3




python vähentää
from> time>import> gmtime, strftime> s>=> strftime(>'%a, %d %b %Y %H:%M:%S'>,> >gmtime(>1627987508.6496193>))> print>(s)>

>

>

Lähtö

Tue, 03 Aug 2021 10:45:08>

time.asctime() -menetelmä

aika.asctime() -menetelmää käytetään muuntamaan monikko tai time.struct_time-objekti, joka edustaa time.gmtime()- tai time.localtime()-metodin palauttamaa aikaa seuraavan muotoiseksi merkkijonoksi:

Day Mon Date Hour:Min:Sec Year>

Esimerkki: Muunnetaan monikko objektiksi time.struct_time merkkijonoksi

Tämä koodi käyttäätime>moduuli muuntaa tietyn aikaleiman (1627987508.6496193) ihmisen luettavaan päivämäärä- ja aikamuotoon käyttämällä time.asctime()> . Se tekee niin sekä GMT-aikavyöhykkeellä (Greenwich Mean Time) että paikallisella aikavyöhykkeellä.

Python 3




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

>

>

Lähtö

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

time.strptime() -menetelmä

time.strptime()-menetelmä muuntaa aikaa edustavan merkkijonon struct_time-objektiksi.

Esimerkki: Muunnetaan merkkijono muotoon struct_time esine.

Tämä koodi käyttäätime>moduuli jäsentääksesi muotoillun merkkijonon, joka edustaa päivämäärää ja aikaa, ja muuntaa sen a time.struct_time> esine. Thetime.strptime()>toimintoa käytetään tähän tarkoitukseen.

Python 3




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

>

>

Lähtö

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