Time module sa Python 3. Panguna nga mga pamaagi, templates, mga pananglitan

Halos bisan unsang programa naggamit ug oras. Sa Python, usa ka bulag nga librarya ang gihimo alang niini - panahongigamit sa paghimo sa lain-laing mga aksyon uban niini. Aron mahimo kini, kinahanglan una nga ipahayag kini sa sinugdanan sa code. Kini nga linya gigamit alang niini:

oras sa pag-import

Atong tagdon ang lain-laing mga opsyon kon unsaon paggamit niini nga module sa saktong paagi sa praktis. 

Pagtino sa gidaghanon sa mga segundo sukad sa panahon

Aron matuman kini nga buluhaton, adunay usa ka function panahon() nga walay mga parametro. Ang pagbalik nga kantidad niini mao ang pila ka segundo ang milabay sukad sa Enero 1, 1970. Sa Python, kini nga panahon gitawag nga pagsugod sa usa ka panahon. Labing menos sa mga operating system sa pamilyang Unix.

Sama sa alang sa Windows, parehas ang petsa, apan mahimo’g adunay mga problema sa negatibo nga mga kantidad nga wala pa kini nga petsa. 

Ang time zone nga gigamit mao ang UTC.

oras sa pag-import

segundos = time.time()

print("Segundo sukad sa panahon =", segundos)

Ang pagkakomplikado sa kini nga function mao nga wala kini magpakita sa eksakto nga petsa, apan ang gidaghanon lamang sa mga segundo. Aron mabag-o ang format nga pamilyar sa tanan, kinahanglan nimo nga gamiton ang tukma nga kasayuran. Alang niini, gigamit ang function oras.ctime().

Pagbalik sa petsa, oras sa naandan nga pormat

Aron mabalik ang oras sa naandan nga pormat, adunay pamaagi oras.ctime(). Ang mga braket nagpakita sa usa ka variable o numero nga nagpakita sa gidaghanon sa mga segundo nga milabay sukad sa pagsugod sa panahon. Kini nga pamaagi nagbalik sa tanan nga mga kinaiya sa petsa ug oras, lakip ang petsa, tuig, gidaghanon sa mga oras, minuto, segundo, ug adlaw sa semana.

Kini nga function mahimo usab nga gamiton nga walay mga argumento. Sa kini nga kaso, gibalik niini ang karon nga petsa, oras, ug uban pa.

Ania ang usa ka code snippet nga nagpakita niini.

oras sa pag-import

print(time.ctime())

Mar Okt 23 10:18:23 2018

Ang katapusan nga linya mao ang giimprinta sa console diin nagdagan ang tighubad sa Python. Awtomatikong giporma sa pamaagi ang nadawat nga gidaghanon sa mga segundo ngadto sa porma nga pamilyar sa user. Tinuod, ang tanan nga mga elemento nga gihulagway sa ibabaw panagsa ra nga gigamit. Ingon sa usa ka lagda, kinahanglan nimo nga makuha ang oras, o ang petsa karon. Alang niini, usa ka bulag nga function ang gigamit - strftime(). Apan sa dili pa nato kini tagdon, kinahanglan natong i-parse ang klase oras.struct_time.

oras sa klase.panahon_istruktura

Kini usa ka kategorya sa mga argumento nga mahimong dawaton sa lainlaing mga pamaagi. Kini walay bisan unsa nga kapilian. Kini usa ka tuple nga adunay ngalan nga interface. Sa yanong pagkasulti, ang mga elemento niini nga klase mahimong ma-access pinaagi sa ngalan ug sa numero sa indeks.

Kini naglangkob sa mosunod nga mga hiyas.Time module sa Python 3. Panguna nga mga pamaagi, templates, mga pananglitan

Atensyon! Dili sama sa daghang uban pang mga programming language, dinhi ang bulan mahimong gikan sa 1 hangtod 12, ug dili gikan sa zero hangtod 11.

Pagbalik sa usa ka Piho nga Format

Paggamit sa function strftime() mahimo nimong makuha ang tuig, bulan, adlaw, oras, minuto, segundo nga tinagsa ug ibalik kini sa usa ka string sa teksto. Dayon kini mahimong i-print sa user gamit ang function imprinta () o sa laing paagi giproseso.

Isip usa ka argumento, ang usa ka function mahimong magkuha sa bisan unsang variable nga nagkuha sa usa ka kantidad nga gibalik sa ubang mga gimbuhaton niini nga module. Pananglitan, mahimo nimong ibalhin ang lokal nga oras niini (kini hisgotan sa ulahi), diin makuha niini ang kinahanglan nga datos.

Ania ang code snippet kung asa nato kini buhaton.

oras sa pag-import

ginganlan_tuple = time.localtime() # get struct_time

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

print(oras_string)

Kung imong gipadagan kini nga code, ang karon nga petsa ug oras ipakita. Ang pormat ug han-ay sa mga elemento mahimong mausab. Sila mao ang mosunod:

  1. %Y ang tuig.
  2. %m mao ang bulan.
  3. %d – adlaw.
  4. %H – panahon.
  5. %M – mga minuto.
  6. %S – ikaduha.

Sa ingon, mahimo nimo kini aron ang output eksklusibo sa bulan ug adlaw. Aron mahimo kini, dili nimo kinahanglan nga maghatag usa ka mando aron ipakita ang tuig. Kana mao, isulat sa ibabaw nga pormula isip argumento %m/%d, ug mao na. O vice versa, %d/%m. 

Sa tinuud, ang gidaghanon sa mga literal nga string mas dako. Ania ang usa ka lamesa diin sila gihulagway sa detalye.Time module sa Python 3. Panguna nga mga pamaagi, templates, mga pananglitan

I-postpone ang usa ka thread sulod sa pipila ka mga segundo

Alang niini, gigamit ang function matulog (). Ang usa ka medyo dako nga bloke sa mga buluhaton sa programming nalangkit sa paglabay sa panahon. Usahay kinahanglan nimo nga i-postpone ang sunod nga lakang sa usa ka piho nga oras. Pananglitan, kung kinahanglan nimo nga makig-uban sa usa ka database nga nagkinahanglag pila ka oras aron maproseso.

Isip usa ka argumento, ang pamaagi naggamit sa usa ka bili nga nagpahayag sa gidaghanon sa mga segundo aron malangan ang sunod nga lakang gikan sa algorithm.

Pananglitan, sa kini nga snippet, ang paglangan 10 segundos.

oras sa pag-import

hunong = 10

print ("Nagsugod ang programa ...")

oras.tulog(pause)

print(str(pause) + »milabay ang mga segundo.»)

Ingon usa ka sangputanan, makuha namon kini:

Nagsugod ang programa…

10 segundos ang milabay.

Sama sa atong makita gikan sa output, ang programa unang nagtaho nga kini nagsugod. Ug pagkahuman sa napulo ka segundo, nagsulat siya nga kini nga oras milabay na.

Ang function nagtugot kanimo sa pagtino sa gidugayon sa paghunong sa milliseconds. Aron mahimo kini, gigamit namon ang mga fractional nga kantidad sa argumento sa function pagkatulog. Pananglitan, 0,1. Kini nagpasabot nga ang paglangan mahimong 100 milliseconds.

Pagkuha sa lokal nga oras

Gamit ang localtime() function, ang programa makakuha sa gidaghanon sa mga segundo sukad sa pagsugod sa epoch sa usa ka piho nga time zone. 

Maghatag kita og usa ka pananglitan nga code alang sa katin-awan.

oras sa pag-import

resulta = time.localtime(1575721830)

print("resulta:", resulta)

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

print(«tm_hour:», resulta.tm_hour)

Ibalik ang struct_time sa UTC base sa gidaghanon sa mga segundo sukad sa panahon

Kini nga buluhaton makab-ot gamit ang time.gmtime(). pamaagi. Mas klaro kung maghatag kita ug pananglitan.

oras sa pag-import

resulta = time.gmtime(1575721830)

print("resulta:", resulta)

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

print(«tm_hour:», resulta.tm_hour)

Kung imong i-on kini nga han-ay sa mga aksyon, unya usa ka hugpong sa mga elemento nga may kalabutan sa oras, tuig ug time zone ang ipakita.

Ibalik ang gidaghanon sa mga segundo sukad sa pagsugod sa panahon nga adunay awtomatik nga pagkakabig sa lokal nga oras

Kung nag-atubang ka sa ingon nga buluhaton, gipatuman kini gamit ang pamaagi mktime(), nga nagkinahanglan struct_time. Human niana, kini naghimo sa reverse nga aksyon sa function lokal nga oras(). Sa ato pa, gibag-o niini ang oras sumala sa lokal nga time zone ngadto sa gidaghanon sa mga segundo nga milabay sukad sa pagsugod sa panahon, gipasibo alang sa time zone.

Ang mktime() ug localtime() nga mga gimbuhaton hugot nga nalambigit. Kini nga code snippet klaro nga nagpakita niini. Atong tan-awon kini aron mas masabtan kung giunsa kini paglihok. 

oras sa pag-import

segundos = 1575721830

# mibalik sa struct_time

t = time.localtime(segundo)

print(«t1: «, t)

# mibalik sa mga segundo gikan sa struct_time

s = oras.mktime(t)

print(«ns:», segundos)

Atong makita nga ang variable segundo na-assign na 1575721830 segundos sukad sa panahon. Una, makuha sa programa ang eksaktong petsa, oras ug uban pang mga parameter, base sa kini nga kantidad, ibutang kini sa usa ka variable t, ug dayon i-convert ang mga sulod niini ngadto sa variable s.

Pagkahuman niana, gibunalan ang usa ka bag-ong linya ug gipakita ang gidaghanon sa mga segundo sa console. Mahimo nimong susihon nga kini parehas nga numero nga gi-assign sa variable nga segundo.

Petsa sa pag-output gikan sa 9 nga mga numero nga nagtumong sa struct_time

Ibutang ta nga kita adunay 9 nga mga numero nga nagrepresentar sa tuig, bulan, petsa, adlaw sa semana ug uban pang mga kantidad, ug kinahanglan naton nga i-combine kini sa usa ka hugpong. Alang niini, gigamit ang function asctime(). Gidawat niya o andam struct_time, o bisan unsang ubang tuple sa 9 nga mga kantidad nga parehas ra. Pagkahuman niana, usa ka hilo ang gibalik, nga usa ka petsa, oras, ug daghang uban pang mga parameter. 

Kombenyente kaayo nga gamiton kini nga pamaagi aron madala ang lainlain nga datos nga gipiho sa tiggamit sa usa ka variable..

Pananglitan, kini mahimo nga usa ka programa diin gilain sa tiggamit ang adlaw, bulan, tuig, adlaw sa semana, ug uban pang datos bahin sa pagrehistro alang sa usa ka panghitabo. Pagkahuman niana, ang kasayuran nga nadawat gisulod sa database ug dayon gihatag sa laing tawo nga nangayo niini.

Pagkuha ug oras ug petsa base sa Python string

Ibutang ta nga ang user adunay gipiho nga disparate data, ug kita kinahanglan nga combine kanila ngadto sa usa ka linya sa format nga ang tawo misulod, ug unya sa paghimo sa usa ka kopya ngadto sa lain nga variable, ug sa pagtukod niini pag-usab ngadto sa usa ka standard nga format didto. Alang niini, gigamit ang function oras.strptime().

Nagkinahanglan kini og usa ka variable diin kini nga bili gipiho, ug ibalik ang pamilyar na kanato struct_time.

Alang sa katin-awan, among isulat ang ingon nga programa.

oras sa pag-import

time_string = "Hunyo 15, 2019"

resulta = time.strptime(time_string, «%d %B, %Y»)

print(resulta)

Hunahunaa kung unsa ang output? Sulayi ang pagtag-an nga wala magtan-aw sa ilawom nga linya. Ug unya susiha ang tubag.

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)

Sa usa ka pulong, ang pagtrabaho kauban ang mga petsa ug oras sa Python dili gyud lisud. Igo na ang pagsunod niini nga mga panudlo, ug ang tanan mahuman. Paggamit sa Library panahon ang tiggamit makakuha og daghang mga oportunidad alang sa pagtrabaho uban ang oras, sama sa:

  1. Suspindihon ang pagpatuman sa programa sa usa ka piho nga gidugayon sa oras.
  2. Ipakita ang oras nga milabay sukad sa panahon, sa mga segundo. Kini nga impormasyon mahimong gamiton sa pagsumada sa oras o paghimo sa ubang mga operasyon sa matematika niini.
  3. Pag-convert sa usa ka kombenyente nga pormat. Dugang pa, ang programmer mismo ang makatakda kung unsang mga elemento ang ipakita ug sa unsang pagkasunod-sunod. 

Adunay usab daghang uban pang mga posibilidad, apan karon among gisusi ang labing sukaranan. Magamit sila sa halos bisan unsang programa nga sa usa ka paagi molihok sa oras. Good luck.

Leave sa usa ka Reply