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)