Imojula yesikhathi kuPython 3. Izindlela eziyinhloko, izifanekiso, izibonelo

Cishe noma yiluphi uhlelo lusebenzisa isikhathi. E-Python, umtapo wolwazi ohlukile wenzelwe lokhu - isikhathiesetshenziselwa ukwenza izenzo ezihlukahlukene ngayo. Ukuze kusebenze, kufanele kuqale kumenyezelwe ekuqaleni kwekhodi. Lo mugqa usetshenziselwa lokhu:

isikhathi sokungenisa

Ake sicabangele izinketho ezahlukene zokusebenzisa le mojula ngendlela efanele ekusebenzeni. 

Inquma inani lamasekhondi kusukela esikhathini

Ukufeza lo msebenzi, kunomsebenzi isikhathi() okungathathi amapharamitha. Inani layo lokubuyisela liwukuthi mangaki amasekhondi adlulile kusukela ngo-January 1, 1970. E-Python, lesi sikhathi sibizwa ngokuthi ukuqala kwenkathi. Okungenani ezinhlelweni zokusebenza zomndeni wakwa-Unix.

Ngokuqondene neWindows, idethi iyafana, kodwa kungase kube nezinkinga ngamavelu angalungile ayengaphambi kwalolu suku. 

Indawo yesikhathi esetshenzisiwe yi-UTC.

isikhathi sokungenisa

imizuzwana = isikhathi.isikhathi()

phrinta (“Amasekhondi kusukela esikhathini =”, imizuzwana)

Ubunkimbinkimbi balo msebenzi ukuthi awubonisi usuku ngqo, kodwa inani lamasekhondi kuphela. Ukuze uguqulele kufomethi ejwayelekile kuwo wonke umuntu, udinga ukusebenzisa ulwazi olunembile. Kulokhu, umsebenzi usetshenziswa isikhathi.ctime().

Ibuyisela idethi, isikhathi ngefomethi evamile

Ukubuyisela isikhathi ngefomethi evamile, kunendlela isikhathi.ctime(). Abakaki babonisa okuguquguqukayo noma inombolo ebonisa inani lamasekhondi adlulile kusukela ekuqaleni kwenkathi. Le ndlela ibuyisela zonke izici zedethi nesikhathi, okuhlanganisa usuku, unyaka, inombolo yamahora, imizuzu, imizuzwana, nosuku lweviki.

Lo msebenzi ungasetshenziswa futhi ngaphandle kwezingxabano. Kulokhu, ibuyisela usuku lwamanje, isikhathi, njalonjalo.

Nali amazwibela ekhodi abonisa lokhu.

isikhathi sokungenisa

phrinta(isikhathi.ctime())

ULwesibili Okthoba 23 10:18:23 2018

Umugqa wokugcina yilokho okuphrintwe kukhonsoli lapho kusebenza khona umhumushi wePython. Indlela ifometha ngokuzenzakalelayo inombolo etholiwe yamasekhondi ibe yifomu elijwayelekile lomsebenzisi. Yiqiniso, zonke izakhi ezichazwe ngenhla azivamile ukusetshenziswa. Njengomthetho, udinga ukuthola isikhathi kuphela, noma usuku lwanamuhla kuphela. Kulokhu, kusetshenziswa umsebenzi ohlukile - isikhathi (). Kodwa ngaphambi kokuba sikucabangele, sidinga ukuhlaziya ikilasi isikhathi.struct_time.

isikhathi sekilasi.struct_time

Lesi isigaba sama-agumenti esingamukelwa uhla lwezindlela. Ayinazo izinketho. Kuyi-tuple ene-interface enegama. Kalula nje, izici zaleli klasi zingafinyelelwa kokubili ngegama nangenombolo yenkomba.

Iqukethe izici ezilandelayo.Imojula yesikhathi kuPython 3. Izindlela eziyinhloko, izifanekiso, izibonelo

Qaphela! Ngokungafani nenani lezinye izilimi zokuhlela, lapha inyanga ingasukela ku-1 kuye ku-12, hhayi ukusuka ku-zero kuye ku-11.

Ibuyisela Ifomethi ethize

Ukusebenzisa umsebenzi isikhathi se-strftime() ungathola unyaka, inyanga, usuku, ihora, imizuzu, amasekhondi ngawodwana bese uwabuyisela kuyunithi yezinhlamvu yombhalo. Ngemuva kwalokho ingaphrintwa kumsebenzisi kusetshenziswa umsebenzi phrinta () noma kucutshungulwe ngenye indlela.

Njengokuphikisana, umsebenzi ungathatha noma yikuphi okuhlukile okuthatha inani elibuyiswe eminye imisebenzi yale mojula. Isibonelo, ungadlulisela isikhathi sendawo kuyo (kuzoxoxwa kamuva), lapho izokhipha idatha edingekayo.

Nawa amazwibela ekhodi lapho sikwenza khona.

isikhathi sokungenisa

named_tuple = time.localtime() # get struct_time

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

phrinta(time_string)

Uma usebenzisa le khodi, idethi yamanje nesikhathi kuzoboniswa. Ifomethi nokulandelana kwezakhi kungashintshwa. Zimi kanje:

  1. I-%Y unyaka.
  2. %m inyanga.
  3. %d - usuku.
  4. %H - isikhathi.
  5. %M – amaminithi.
  6. %S – isekhondi.

Ngokufanelekile, ungayenza ukuze okukhiphayo kube okwenyanga nosuku kuphela. Ukuze wenze lokhu, awudingi nje ukunikeza umyalo wokubonisa unyaka. Okungukuthi, bhala kule fomula engenhla njengempikiswano %m/%d, futhi yilokho. Noma ngokuphambene, %d/%m. 

Eqinisweni, inani lezinhlamvu zezintambo likhulu kakhulu. Nali itafula lapho zichazwa khona ngokuningiliziwe.Imojula yesikhathi kuPython 3. Izindlela eziyinhloko, izifanekiso, izibonelo

Hlehlisa uchungechunge ngenani elithile lamasekhondi

Kulokhu, umsebenzi usetshenziswa lala (). Ibhulokhi enkulu ngokwanele yemisebenzi yokuhlela ihlotshaniswa nokuhamba kwesikhathi. Kwesinye isikhathi kufanele uhlehlise isinyathelo esilandelayo isikhathi esithile. Isibonelo, uma udinga ukusebenzisana nesizindalwazi esithatha isikhathi esithile ukusicubungula.

Njengempikiswano, indlela isebenzisa inani eliveza inombolo yamasekhondi ukuze kubambezeleke isinyathelo esilandelayo ukusuka ku-algorithm.

Isibonelo, kulawa mazwibela, ukubambezeleka amasekhondi ayi-10.

isikhathi sokungenisa

isikhashana = 10

phrinta («Uhlelo luqalile…»)

isikhathi.lala(ikhefu)

phrinta(str(ikhefu) + »imizuzwana idlulile.»)

Ngenxa yalokho, sizothola lokhu:

Uhlelo luqalile...

Kudlule imizuzwana eyi-10.

Njengoba singabona kokuphumayo, uhlelo lubika kuqala ukuthi seluqalile. Futhi ngemva kwemizuzwana eyishumi, wabhala ukuthi lesi sikhathi sesidlulile.

Umsebenzi ikuvumela ukuthi ucacise ubude besikhathi sokumiswa ngama-millisecond. Ukuze senze lokhu, sisebenzisa amanani angama-fractional we-agumenti yomsebenzi ukulala. Ngokwesibonelo, 0,1. Lokhu kusho ukuthi ukubambezeleka kuzoba ama-millisecond angu-100.

Thola isikhathi sendawo

Ngokusebenzisa umsebenzi we-localtime(), uhlelo luthola inombolo yamasekhondi kusukela ekuqaleni kwenkathi endaweni ethile yesikhathi. 

Ake sinikeze isibonelo sekhodi ukuze kucace.

isikhathi sokungenisa

umphumela = isikhathi.isikhathi sasekhaya(1575721830)

phrinta("umphumela:", umphumela)

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

phrinta(«tm_hour:», result.tm_hour)

Return struct_time ku-UTC ngokususelwe kwinombolo yamasekhondi kusukela kunkathi

Lo msebenzi ufezwa kusetshenziswa i-time.gmtime(). indlela. Kuzocaca kakhudlwana uma senza isibonelo.

isikhathi sokungenisa

umphumela = time.gmtime(1575721830)

phrinta("umphumela:", umphumela)

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

phrinta(«tm_hour:», result.tm_hour)

Uma uvula lokhu kulandelana kwezenzo, kuzobese kuboniswa isethi yezinto ezihlobene nesikhathi, unyaka nendawo yesikhathi.

Buyisa inombolo yamasekhondi kusukela ekuqaleni kwenkathi ngokuguqulwa okuzenzakalelayo ukuya kusikhathi sasendaweni

Uma ubhekene nomsebenzi onjalo, wenziwa kusetshenziswa indlela mktime(), okuthatha struct_time. Ngemva kwalokho, yenza isenzo esiphambene nomsebenzi localtime(). Okusho ukuthi, iguqula isikhathi ngokuya ngezoni yesikhathi sasendaweni ibe inombolo yamasekhondi adlulile kusukela ekuqaleni kwenkathi, elungiselwe indawo yesikhathi.

Imisebenzi ye-mktime() neye-localtime() ixhumene eduze. La mazwibela ekhodi akubonisa ngokusobala lokhu. Ake siyibheke ukuze siqonde ngokujulile ukuthi isebenza kanjani. 

isikhathi sokungenisa

imizuzwana = 1575721830

# ibuyisela_isikhathi_sesakhiwo

t = isikhathi.isikhathi sasendaweni(imizuzwana)

phrinta(«t1: «, t)

# ibuyisela imizuzwana kusuka ku-struct_time

s = isikhathi.mktime(t)

phrinta(«ns:», imizuzwana)

Siyabona ukuthi okuguquguqukayo imizuzwana unikezwe imizuzwana engu-1575721830 kusukela esikhathini. Okokuqala, uhlelo luthola usuku oluqondile, isikhathi kanye neminye imingcele, ngokusekelwe kuleli nani, ibeke kokuguquguqukayo. t, bese iguqula okuqukethwe kwayo kube okuguquguqukayo s.

Ngemuva kwalokho ishaya umugqa omusha futhi ibonise inani lamasekhondi kukhonsoli. Ungahlola ukuthi kuzoba inombolo efanayo naleyo eyabelwe ukuguquguquka kwemizuzwana.

Idethi yokuphuma ivela kuzinombolo ezingu-9 ezibhekisela ku-struct_time

Ake sithi sinezinombolo ezingu-9 ezimelela unyaka, inyanga, idethi, usuku lweviki kanye nenani lamanye amanani, futhi sidinga ukuwahlanganisa abe yiyunithi yezinhlamvu eyodwa. Kulokhu, umsebenzi usetshenziswa i-asctime(). Amukele noma alungele struct_time, noma iyiphi enye i-tuple yamanani angu-9 amele okufanayo. Ngemva kwalokho, kubuyiselwa iyunithi yezinhlamvu, okuyidethi, isikhathi, kanye nenani leminye imingcele. 

Kulula kakhulu ukusebenzisa le ndlela ukuze ulethe idatha ehlukanisiwe eshiwo umsebenzisi ibe okuguquguqukayo okukodwa..

Isibonelo, kungase kube uhlelo lapho umsebenzisi acacisa khona ngokuhlukene usuku, inyanga, unyaka, usuku lweviki, nenye idatha ephathelene nokubhaliswa komcimbi. Ngemva kwalokho, ulwazi olutholiwe lufakwa kusizindalwazi bese lukhishelwa omunye umuntu olucelayo.

Ukuthola isikhathi nosuku ngokusekelwe kuchungechunge lwePython

Ake sithi umsebenzisi ucacise idatha ehlukene, futhi sidinga ukuyihlanganisa emugqeni owodwa ngefomethi umuntu ayifakile, bese senze ikhophi kokunye okuguquguqukayo, futhi siyakhe kabusha ibe ifomethi evamile lapho. Kulokhu, umsebenzi usetshenziswa isikhathi.strtime().

Kuthatha okuguquguqukayo lapho leli nani licaciswa khona, futhi libuyisela esilijwayele kakade struct_time.

Ukuze kucace, sizobhala uhlelo olunjalo.

isikhathi sokungenisa

time_string = «15 Juni, 2019»

umphumela = isikhathi.strptime(intambo_yesikhathi, «%d %B, %Y»)

phrinta(umphumela)

Qagela ukuthi okuphumayo kuzoba yini? Zama ukuqagela ngaphandle kokubheka iphuzu elibalulekile. Bese uhlola impendulo.

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

Ngamafuphi, ukusebenza ngezinsuku nezikhathi kuPython akunzima nhlobo. Kwanele ukulandela le miyalelo, futhi konke kuzohamba kahle. Ukusebenzisa i-Library isikhathi umsebenzisi uthola inani elikhulu lamathuba okusebenza ngesikhathi, njenge:

  1. Misa ukusebenza kohlelo isikhathi esibekiwe.
  2. Bonisa isikhathi esidlulile kusukela ku-epoch, ngamasekhondi. Lolu lwazi lungasetshenziselwa ukuhlanganisa isikhathi noma ukwenza eminye imisebenzi yezibalo kulo.
  3. Guqula ibe ifomethi elula. Ngaphezu kwalokho, umhleli ngokwakhe angakwazi ukusetha ukuthi yiziphi izakhi ezizoboniswa nokuthi yiziphi ukulandelana. 

Kukhona nenani lamanye amathuba, kodwa namuhla siye sahlaziya ayisisekelo kakhulu. Zizofika ziwusizo cishe kunoma yiluphi uhlelo olusebenza ngandlela thize ngokuhamba kwesikhathi. Ngikufisela inhlanhla.

shiya impendulo