Modulu tal-ħin f'Python 3. Metodi ewlenin, mudelli, eżempji

Kważi kull programm juża l-ħin. F'Python, ġiet żviluppata librerija separata għal dan - ħinużati biex iwettqu varjetà ta 'azzjonijiet magħha. Biex taħdem, l-ewwel trid tiġi ddikjarata fil-bidu tal-kodiċi. Din il-linja tintuża għal dan:

ħin ta 'importazzjoni

Ejja nikkunsidraw għażliet differenti dwar kif tuża dan il-modulu b'mod korrett fil-prattika. 

Iddetermina n-numru ta’ sekondi mill-epoka

Biex twettaq dan il-kompitu, hemm funzjoni ħin() li ma tieħu l-ebda parametri. Il-valur tar-ritorn tiegħu huwa kemm għaddew sekondi mill-1 ta 'Jannar 1970. F'Python, din id-darba tissejjaħ il-bidu ta' epoka. Mill-inqas fis-sistemi operattivi tal-familja Unix.

Fir-rigward tal-Windows, id-data hija l-istess, iżda jista 'jkun hemm problemi b'valuri negattivi li kienu qabel din id-data. 

Iż-żona tal-ħin użata hija UTC.

ħin ta 'importazzjoni

sekondi = ħin.ħin ()

print("Sekondi mill-epoka =", sekondi)

Il-kumplessità ta 'din il-funzjoni hija li ma turix eżattament id-data, iżda biss in-numru ta' sekondi. Biex taqleb għall-format familjari għal kulħadd, għandek bżonn tuża informazzjoni preċiża. Għal dan, tintuża l-funzjoni ħin.ctime().

Jirritornaw id-data, il-ħin fil-format tas-soltu

Biex tirritorna l-ħin fil-format tas-soltu, hemm metodu ħin.ctime(). Il-parentesi jindikaw varjabbli jew numru li jindika n-numru ta’ sekondi li għaddew mill-bidu tal-epoka. Dan il-metodu jirritorna l-karatteristiċi kollha tad-data u l-ħin, inklużi d-data, is-sena, in-numru ta’ sigħat, minuti, sekondi u jum tal-ġimgħa.

Din il-funzjoni tista' tintuża wkoll mingħajr argumenti. F'dan il-każ, jirritorna d-data kurrenti, il-ħin, eċċ.

Hawnhekk hawn snippet tal-kodiċi li juri dan.

ħin ta 'importazzjoni

print(time.ctime())

It-Tlieta 23 Ottubru 10:18:23 2018

L-aħħar linja hija dak li huwa stampat fuq il-console fejn qed jaħdem l-interpretu Python. Il-metodu jifformattja awtomatikament in-numru riċevut ta' sekondi f'forma familjari għall-utent. Veru, l-elementi kollha deskritti hawn fuq rarament jintużaw. Bħala regola, għandek bżonn tikseb jew il-ħin biss, jew id-data tal-lum biss. Għal dan, tintuża funzjoni separata - strftime(). Iżda qabel ma nikkunsidrawha, irridu naqraw il-klassi time.struct_time.

ħin tal-klassi.struct_time

Din hija kategorija ta' argumenti li jistgħu jiġu aċċettati b'firxa ta' metodi. M'għandha l-ebda għażla. Huwa tuple b'interface msemmi. Fi kliem sempliċi, l-elementi ta 'din il-klassi jistgħu jiġu aċċessati kemm bl-isem kif ukoll bin-numru tal-indiċi.

Tikkonsisti fl-attributi li ġejjin.Modulu tal-ħin f'Python 3. Metodi ewlenin, mudelli, eżempji

Attenzjoni! B'differenza minn numru ta 'lingwi ta' programmar oħra, hawn ix-xahar jista 'jvarja minn 1 sa 12, u mhux minn żero sa 11.

Ritorn ta' Format Speċifiku

Bl-użu tal-funzjoni strftime() tista 'tikseb is-sena, ix-xahar, il-ġurnata, is-siegħa, il-minuti, is-sekondi individwalment u tirritornahom għal string ta' test. Imbagħad jista 'jiġi stampat lill-utent bl-użu tal-funzjoni ipprintja () jew ipproċessat mod ieħor.

Bħala argument, funzjoni tista' tieħu kwalunkwe varjabbli li tieħu valur ritornat minn funzjonijiet oħra ta' dan il-modulu. Pereżempju, tista 'tittrasferixxi l-ħin lokali lilha (se tiġi diskussa aktar tard), li minnha se tiġbed id-dejta meħtieġa.

Hawn hu s-snippet tal-kodiċi fejn nagħmluh.

ħin ta 'importazzjoni

named_tuple = time.localtime () # tikseb struct_time

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

print(time_string)

Jekk tħaddem dan il-kodiċi, id-data u l-ħin attwali se jintwerew. Il-format u s-sekwenza tal-elementi jistgħu jinbidlu. Dawn huma kif ġej:

  1. %Y hija s-sena.
  2. %m huwa x-xahar.
  3. %d – jum.
  4. %H – ħin.
  5. %M – minuti.
  6. %S – it-tieni.

Għaldaqstant, tista 'tagħmilha sabiex l-output ikun esklussivament tax-xahar u tal-ġurnata. Biex tagħmel dan, sempliċement m'għandekx bżonn tagħti kmand biex turi s-sena. Jiġifieri, ikteb fil-formula ta 'hawn fuq bħala argument %m/%d, u dak hu. Jew viċi versa, %d/%m. 

Fil-fatt, in-numru ta 'literali string huwa ħafna akbar. Hawnhekk hawn tabella fejn huma deskritti fid-dettall.Modulu tal-ħin f'Python 3. Metodi ewlenin, mudelli, eżempji

Posponi ħajta għal ċertu numru ta’ sekondi

Għal dan, tintuża l-funzjoni irqad (). Blokk pjuttost kbir ta 'kompiti ta' programmar huwa assoċjat mal-mogħdija taż-żmien. Kultant ikollok tipposponi l-pass li jmiss għal ċertu żmien. Per eżempju, jekk għandek bżonn jinteraġixxu ma 'database li tieħu ċertu ammont ta' żmien biex tipproċessa.

Bħala argument, il-metodu juża valur li jesprimi n-numru ta 'sekondi biex jittardja l-pass li jmiss mill-algoritmu.

Pereżempju, f'dan is-snippet, id-dewmien huwa ta' 10 sekondi.

ħin ta 'importazzjoni

pawża = 10

print(«Programm beda...»)

ħin.irqad(pawża)

print(str(pawsa) + » sekondi għaddew.»)

Bħala riżultat, aħna se tikseb dan:

Il-programm beda...

Għaddew 10 sekondi.

Kif nistgħu naraw mill-output, il-programm l-ewwel jirrapporta li beda. U wara għaxar sekondi, kitbet li dan iż-żmien kien għadda.

Il-funzjoni tippermettilek tispeċifika t-tul tal-pawsa f'millisekondi. Biex tagħmel dan, nużaw valuri frazzjonali tal-argument tal-funzjoni irqad. Per eżempju, 0,1. Dan ifisser li d-dewmien se jkun ta '100 millisekondi.

Ikseb il-ħin lokali

Bl-użu tal-funzjoni localtime(), il-programm jikseb in-numru ta' sekondi mill-bidu tal-epoch f'żona ta' ħin speċifika. 

Ejja nagħtu eżempju ta 'kodiċi għaċ-ċarezza.

ħin ta 'importazzjoni

riżultat = time.localtime(1575721830)

print("riżultat:", riżultat)

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

print(«tm_hour:», result.tm_hour)

Irritorna struct_time f'UTC ibbażat fuq in-numru ta' sekondi mill-epoka

Dan il-kompitu jinkiseb bl-użu tal-time.gmtime(). metodu. Ikun aktar ċar jekk nagħtu eżempju.

ħin ta 'importazzjoni

riżultat = time.gmtime(1575721830)

print("riżultat:", riżultat)

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

print(«tm_hour:», result.tm_hour)

Jekk tixgħel din is-sekwenza ta' azzjonijiet, imbagħad jintwera sett ta' elementi relatati mal-ħin, is-sena u ż-żona tal-ħin.

Irritorna n-numru ta 'sekondi mill-bidu ta' l-epoka b'konverżjoni awtomatika għall-ħin lokali

Jekk qed tiffaċċja tali kompitu, huwa implimentat bl-użu tal-metodu mktime(), li tieħu struct_time. Wara dan, iwettaq l-azzjoni inversa tal-funzjoni ħin lokali(). Jiġifieri, tikkonverti l-ħin skont iż-żona tal-ħin lokali fin-numru ta 'sekondi li għaddew mill-bidu tal-epoka, aġġustat għaż-żona tal-ħin.

Il-funzjonijiet mktime() u localtime() huma marbuta mill-qrib. Dan is-snippet tal-kodiċi juri dan b'mod ċar. Ejja nagħtu ħarsa lejha biex nifhmu aktar fil-fond kif taħdem. 

ħin ta 'importazzjoni

sekondi = 1575721830

# jirritorna struct_time

t = ħin.ħin lokali (sekondi)

print(«t1: «, t)

# jirritorna sekondi minn struct_time

s = ħin.mktime(t)

print(«ns:», sekondi)

Naraw li l-varjabbli sekondi ġie assenjat 1575721830 sekondi mill-epoka. L-ewwel, il-programm jikseb id-data eżatta, il-ħin u parametri oħra, ibbażati fuq dan il-valur, poġġih f'varjabbli t, u mbagħad tikkonverti l-kontenut tagħha f'varjabbli s.

Wara dan taħbita linja ġdida u juri n-numru ta 'sekondi fil-console. Tista 'tiċċekkja li se jkun l-istess numru li ġie assenjat għall-varjabbli tas-sekondi.

Data tal-ħruġ minn 9 numri li jirreferu għal struct_time

Ejja ngħidu li għandna 9 numri li jirrappreżentaw is-sena, ix-xahar, id-data, il-jum tal-ġimgħa u numru ta 'valuri oħra, u għandna bżonn ngħaqqduhom f'sekwenza waħda. Għal dan, tintuża l-funzjoni asctime(). Hija taċċetta jew lesta struct_time, jew kwalunkwe tuple ieħor ta’ 9 valuri li tirrappreżenta l-istess. Wara dan, tiġi rritornata string, li hija data, ħin, u numru ta 'parametri oħra. 

Huwa konvenjenti ħafna li tuża dan il-metodu sabiex iġġib data differenti speċifikata mill-utent f'varjabbli wieħed..

Pereżempju, jista 'jkun programm fejn l-utent jispeċifika separatament il-jum, ix-xahar, is-sena, il-jum tal-ġimgħa, u data oħra dwar ir-reġistrazzjoni għal avveniment. Wara dan, l-informazzjoni riċevuta tiddaħħal fid-database u mbagħad tinħareġ lil persuna oħra li titlobha.

Jkollna ħin u data bbażati fuq string Python

Ejja ngħidu li l-utent speċifikat data differenti, u għandna bżonn ngħaqqduhom f'linja waħda fil-format li l-persuna daħlet, u mbagħad tagħmel kopja għal varjabbli ieħor, u terġa 'tinbena f'format standard hemmhekk. Għal dan, tintuża l-funzjoni time.strptime().

Huwa jieħu varjabbli li fiha dan il-valur huwa speċifikat, u jirritorna l-diġà familjari lilna struct_time.

Għaċ-ċarezza, aħna se niktbu programm bħal dan.

ħin ta 'importazzjoni

time_string = «15 ta’ Ġunju, 2019»

riżultat = time.strptime(time_string, «%d %B, %Y»)

print(riżultat)

Aqta x'se jkun l-output? Ipprova raden mingħajr ma tħares lejn il-linja tal-qiegħ. U mbagħad iċċekkja t-tweġiba.

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)

Fi ftit kliem, ix-xogħol bid-dati u l-ħinijiet f'Python mhu diffiċli xejn. Huwa biżżejjed li ssegwi dawn l-istruzzjonijiet, u kollox se jaħdem. Uża l-Librerija ħin l-utent jikseb numru kbir ta 'opportunitajiet biex jaħdem mal-ħin, bħal:

  1. Issospendi l-eżekuzzjoni tal-programm għal ammont ta' żmien speċifikat.
  2. Uri ż-żmien li għadda mill-epoka, f'sekondi. Din l-informazzjoni tista' tintuża biex tiġbor il-ħin jew twettaq operazzjonijiet matematiċi oħra fuqha.
  3. Ikkonverti għal format konvenjenti. Barra minn hekk, il-programmatur innifsu jista 'jistabbilixxi liema elementi se jintwerew u f'liema sekwenza. 

Hemm ukoll numru ta’ possibbiltajiet oħra, imma llum analizzajna l-aktar bażiċi. Huma ser ikunu utli fi kważi kull programm li b'xi mod jaħdem maż-żmien. Ix-xorti t-tajba.

Ħalli Irrispondi