Moduli i kohës në Python 3. Metodat kryesore, shabllonet, shembujt

Pothuajse çdo program përdor kohë. Në Python, një bibliotekë e veçantë është zhvilluar për këtë - kohëpërdoret për të kryer një sërë veprimesh me të. Për ta bërë atë të funksionojë, së pari duhet të deklarohet në fillim të kodit. Kjo linjë përdoret për këtë:

koha e importit

Le të shqyrtojmë opsione të ndryshme se si ta përdorim këtë modul në mënyrë korrekte në praktikë. 

Përcaktimi i numrit të sekondave që nga epoka

Për të përmbushur këtë detyrë, ekziston një funksion kohë() që nuk merr parametra. Vlera e tij e kthimit është sa sekonda kanë kaluar që nga 1 janari 1970. Në Python, kjo kohë quhet fillimi i një epoke. Të paktën në sistemet operative të familjes Unix.

Sa për Windows, data është e njëjtë, por mund të ketë probleme me vlerat negative që ishin para kësaj date. 

Zona kohore e përdorur është UTC.

koha e importit

sekonda = koha.koha()

print ("Sekonda që nga epoka =", sekonda)

Kompleksiteti i këtij funksioni është se ai nuk shfaq saktësisht datën, por vetëm numrin e sekondave. Për t'u kthyer në formatin e njohur për të gjithë, duhet të përdorni informacion të saktë. Për këtë përdoret funksioni koha.ctime().

Kthimi i datës, orës në formatin e zakonshëm

Për të kthyer kohën në formatin e zakonshëm, ekziston një metodë koha.ctime(). Kllapat tregojnë një ndryshore ose një numër që tregon numrin e sekondave që kanë kaluar që nga fillimi i epokës. Kjo metodë kthen të gjitha karakteristikat e datës dhe orës, duke përfshirë datën, vitin, numrin e orëve, minutat, sekondat dhe ditën e javës.

Ky funksion mund të përdoret edhe pa argumente. Në këtë rast, ai kthen datën, orën aktuale etj.

Këtu është një copë kodi që e demonstron këtë.

koha e importit

print(time.ctime())

E martë 23 tetor 10:18:23 2018

Rreshti i fundit është ajo që printohet në tastierën ku funksionon interpretuesi Python. Metoda e formaton automatikisht numrin e marrë të sekondave në një formë të njohur nga përdoruesi. Vërtetë, të gjithë elementët e përshkruar më sipër përdoren rrallë. Si rregull, duhet të merrni ose vetëm kohën, ose vetëm datën e sotme. Për këtë, përdoret një funksion i veçantë - strftime(). Por, përpara se ta shqyrtojmë, duhet të analizojmë klasën koha.struktur_koha.

koha e klasës.struct_time

Kjo është një kategori argumentesh që mund të pranohen nga një sërë metodash. Nuk ka asnjë opsion. Është një tuple me një ndërfaqe të emërtuar. E thënë thjesht, elementët e kësaj klase mund të aksesohen si me emër ashtu edhe me numrin e indeksit.

Ai përbëhet nga atributet e mëposhtme.Moduli i kohës në Python 3. Metodat kryesore, shabllonet, shembujt

Kujdes! Ndryshe nga një numër i gjuhëve të tjera programimi, këtu muaji mund të variojë nga 1 në 12, dhe jo nga zero në 11.

Kthimi i një formati specifik

Duke përdorur funksionin strftime () ju mund të merrni vitin, muajin, ditën, orën, minutat, sekondat individualisht dhe t'i ktheni ato në një varg teksti. Më pas mund t'i printohet përdoruesit duke përdorur funksionin shtyp () ose të përpunuara ndryshe.

Si argument, një funksion mund të marrë çdo ndryshore që merr një vlerë të kthyer nga funksionet e tjera të këtij moduli. Për shembull, ju mund të transferoni kohën lokale në të (do të diskutohet më vonë), nga e cila do të nxjerrë të dhënat e nevojshme.

Këtu është pjesa e kodit ku ne e bëjmë atë.

koha e importit

named_tuple = time.localtime() # get struct_time

time_string = time.strftime(«%m/%d/%Y, %H:%M:%S», named_tuple)

print (varg_koha)

Nëse përdorni këtë kod, data dhe ora aktuale do të shfaqen. Formati dhe sekuenca e elementeve mund të ndryshohet. Ato janë si më poshtë:

  1. %Y është viti.
  2. %m është muaji.
  3. %d – ditë.
  4. %H – koha.
  5. %M – minuta.
  6. %S – sekondë.

Prandaj, mund ta bëni atë në mënyrë që prodhimi të jetë ekskluzivisht i muajit dhe ditës. Për ta bërë këtë, thjesht nuk keni nevojë të jepni një komandë për të shfaqur vitin. Kjo do të thotë, shkruani në formulën e mësipërme si një argument %m/%d, dhe kaq. Ose anasjelltas, %d/%m. 

Në fakt, numri i literaleve të vargut është shumë më i madh. Këtu është një tabelë ku ato përshkruhen në detaje.Moduli i kohës në Python 3. Metodat kryesore, shabllonet, shembujt

Shtyjeni një temë për një numër të caktuar sekondash

Për këtë përdoret funksioni fle (). Një bllok mjaft i madh detyrash programimi shoqërohet me kalimin e kohës. Ndonjëherë ju duhet të shtyni hapin tjetër për një kohë të caktuar. Për shembull, nëse keni nevojë të ndërveproni me një bazë të dhënash që kërkon një kohë të caktuar për t'u përpunuar.

Si argument, metoda përdor një vlerë që shpreh numrin e sekondave për të vonuar hapin tjetër nga algoritmi.

Për shembull, në këtë fragment, vonesa është 10 sekonda.

koha e importit

pauzë = 10

print ("Programi filloi...")

koha.gjumë (pauzë)

print(str(pauzë) + » sekonda kaluan.»)

Si rezultat, ne do të marrim këtë:

Programi filloi…

Kaluan 10 sekonda.

Siç mund ta shohim nga dalja, programi fillimisht raporton se ka filluar. Dhe pas dhjetë sekondash ajo shkroi se kjo kohë kishte kaluar.

Funksioni ju lejon të specifikoni kohëzgjatjen e pauzës në milisekonda. Për ta bërë këtë, ne përdorim vlerat e pjesshme të argumentit të funksionit gjumë. Për shembull, 0,1. Kjo do të thotë se vonesa do të jetë 100 milisekonda.

Merrni kohën lokale

Duke përdorur funksionin localtime(), programi merr numrin e sekondave që nga fillimi i epokës në një zonë specifike kohore. 

Le të japim një kod shembull për qartësi.

koha e importit

rezultat = time.localtime(1575721830)

print ("rezultati:", rezultat)

print(«nгод:», result.tm_year)

print(«tm_orë:», rezultat.tm_orë)

Ktheni struct_time në UTC bazuar në numrin e sekondave që nga epoka

Kjo detyrë arrihet duke përdorur time.gmtime(). metodë. Do të jetë më e qartë nëse japim një shembull.

koha e importit

rezultat = time.gmtime(1575721830)

print ("rezultati:", rezultat)

print(«nгод:», result.tm_year)

print(«tm_orë:», rezultat.tm_orë)

Nëse aktivizoni këtë sekuencë veprimesh, atëherë do të shfaqet një grup elementësh që lidhen me kohën, vitin dhe zonën kohore.

Ktheni numrin e sekondave që nga fillimi i epokës me konvertim automatik në kohën lokale

Nëse jeni përballur me një detyrë të tillë, ajo zbatohet duke përdorur metodën mktime (), e cila merr struktur_koha. Pas kësaj, ai kryen veprimin e kundërt të funksionit Koha lokale(). Kjo do të thotë, ai e konverton kohën sipas zonës kohore lokale në numrin e sekondave që kanë kaluar që nga fillimi i epokës, të rregulluar për zonën kohore.

Funksionet mktime() dhe localtime() janë të ndërthurura ngushtë. Kjo pjesë e kodit e demonstron qartë këtë. Le t'i hedhim një vështrim për të kuptuar më thellë se si funksionon. 

koha e importit

sekonda = 1575721830

# kthen struct_time

t = kohë.koha lokale(sekonda)

print («t1: «, t)

# kthen sekonda nga struct_time

s = kohë.mktime(t)

print(«ns:», sekonda)

Shohim se ndryshorja sekonda i është caktuar 1575721830 sekonda që nga epoka. Së pari, programi merr datën e saktë, kohën dhe parametrat e tjerë, bazuar në këtë vlerë, vendoseni në një variabël t, dhe më pas e konverton përmbajtjen e tij në një ndryshore s.

Pas kësaj rreh një linjë të re dhe shfaq numrin e sekondave në tastierë. Mund të kontrolloni që do të jetë i njëjti numër që i është caktuar variablit sekonda.

Data e daljes nga 9 numra që i referohen struct_time

Supozoni se kemi 9 numra që përfaqësojnë vitin, muajin, datën, ditën e javës dhe një numër vlerash të tjera, dhe ne duhet t'i kombinojmë ato në një varg. Për këtë përdoret funksioni asctime(). Ajo pranon ose gati koha_strukture, ose ndonjë tufë tjetër prej 9 vlerash që qëndron për të njëjtën gjë. Pas kësaj, kthehet një varg, i cili është një datë, kohë dhe një numër parametrash të tjerë. 

Është shumë i përshtatshëm për të përdorur këtë metodë për të sjellë të dhëna të ndryshme të specifikuara nga përdoruesi në një ndryshore të vetme..

Për shembull, mund të jetë një program ku përdoruesi specifikon veçmas ditën, muajin, vitin, ditën e javës dhe të dhëna të tjera në lidhje me regjistrimin për një ngjarje. Pas kësaj, informacioni i marrë futet në bazën e të dhënave dhe më pas i lëshohet një personi tjetër që e kërkon atë.

Marrja e orës dhe datës bazuar në vargun e Python

Supozoni se përdoruesi ka specifikuar të dhëna të ndryshme dhe ne duhet t'i kombinojmë ato në një rresht në formatin që ka futur personi, dhe më pas të bëjmë një kopje në një variabël tjetër dhe ta rindërtojmë atë në një format standard atje. Për këtë përdoret funksioni koha.strptime().

Ai merr një ndryshore në të cilën është specifikuar kjo vlerë dhe na kthen të njohurin tashmë struktur_koha.

Për qartësi, ne do të shkruajmë një program të tillë.

koha e importit

time_string = «15 qershor, 2019»

rezultat = time.strptime(koha_string, «%d %B, %Y»)

shtypja (rezultati)

Mendoni se cili do të jetë rezultati? Mundohuni të merrni me mend pa shikuar në fund. Dhe pastaj kontrolloni përgjigjen.

time.struct_time(tm_year=2019, tm_mon=6, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=166, tm_isdst=-1)

Me një fjalë, puna me datat dhe oraret në Python nuk është aspak e vështirë. Mjafton të ndiqni këto udhëzime dhe gjithçka do të funksionojë. Përdorimi i Bibliotekës kohë përdoruesi merr një numër të madh mundësish për të punuar me kohën, si p.sh.

  1. Pezulloni ekzekutimin e programit për një kohë të caktuar.
  2. Trego kohën që ka kaluar nga epoka, në sekonda. Ky informacion mund të përdoret për të përmbledhur kohën ose për të kryer operacione të tjera matematikore mbi të.
  3. Konvertoni në një format të përshtatshëm. Për më tepër, vetë programuesi mund të vendosë se cilët elementë do të shfaqen dhe në çfarë sekuence. 

Ka edhe një sërë mundësish të tjera, por sot kemi analizuar ato më themeloret. Ata do të jenë të dobishëm në pothuajse çdo program që funksionon disi me kohën. Paç fat.

Lini një Përgjigju