Contents
- Diyarkirina hejmara saniyeyan ji serdemê
- Vegerandina dîrok, dem di forma asayî de
- dema polê.struct_time
- Vegerandina Formatek Taybet
- Mijarek ji bo çend saniyeyan paşde bixin
- Dema herêmî bistînin
- Struktura_time li UTC li ser bingeha hejmara saniyeyan ji serdemê ve vegerîne
- Hejmara saniyeyan ji destpêka serdemê ve bi veguheztina otomatîkî li dema herêmî vegerîne
- Dîroka derketinê ji 9 hejmarên ku behsa struct_time dikin
- Danîna dem û tarîxê li ser bingeha rêzika Python
Hema hema her bername dem bikar tîne. Di Python de, pirtûkxaneyek cihê ji bo vê yekê hatî pêşve xistin - demji bo pêkanîna çalakiyên cur bi cur bi wê tê bikaranîn. Ji bo ku ew bixebite, divê ew pêşî di destpêka kodê de were ragihandin. Ev rêz ji bo vê tê bikaranîn:
dema îthalê
Ka em vebijarkên cihêreng li ser ka meriv çawa vê modulê di pratîkê de rast bikar tîne bihesibîne.
Diyarkirina hejmara saniyeyan ji serdemê
Ji bo pêkanîna vê peywirê, fonksiyonek heye dem() ku tu parametreyan nagire. Nirxa wê ya vegerê ew e ku çend saniye ji 1ê Çileya Paşîn, 1970 de derbas bûne. Di Python de, ji vê demê re destpêka serdemekê tê gotin. Bi kêmanî di pergalên xebitandinê yên malbata Unix de.
Ji bo Windows-ê, tarîx yek e, lê dibe ku pirsgirêkên bi nirxên neyînî yên ku berî vê tarîxê hebûn hebin.
Demjimêra ku tê bikar anîn UTC ye.
dema îthalê
çirk = dem.dem()
çapkirin ("Çikan ji serdemê =", saniye)
Tevliheviya vê fonksiyonê ev e ku ew tam tarîxê nayîne, lê tenê hejmara saniyeyan nîşan dide. Ji bo veguhertina forma ku ji her kesî re naskirî ye, hûn hewce ne ku agahdariya rast bikar bînin. Ji bo vê, fonksiyonê tê bikaranîn dem.ctime().
Vegerandina dîrok, dem di forma asayî de
Ji bo vegerandina demê di forma asayî de, rêbazek heye dem.ctime(). Kevir guhêrbarek an hejmarek nîşan dide ku hejmara saniyeyên ku ji destpêka serdemê re derbas bûne nîşan dide. Ev rêbaz hemî taybetmendiyên tarîx û demjimêrê vedigerîne, di nav de tarîx, sal, hejmara demjimêr, hûrdem, çirk û roja hefteyê.
Ev fonksiyon dikare bêyî argumanan jî were bikar anîn. Di vê rewşê de, ew dîroka heyî, demjimêr, û hwd vedigerîne.
Li vir pişkek kodek heye ku vê yekê destnîşan dike.
dema îthalê
çapkirin(time.ctime())
Sêşem Oct 23 10:18:23 2018
Rêza paşîn ew e ku li konsolê ku wergêrê Python lê dixebitî tê çap kirin. Rêbaz bixweber hejmara saniyeyên wergirtî di formek bikarhêner-nas de format dike. Rast e, hemî hêmanên ku li jor hatine destnîşan kirin kêm kêm têne bikar anîn. Wekî qaîdeyek, hûn hewce ne ku tenê dem, an tenê roja îro bistînin. Ji bo vê yekê, fonksiyonek cuda tê bikaranîn - strftime(). Lê berî ku em wê bifikirin, pêdivî ye ku em polê parsek bikin dem.struct_time.
dema polê.struct_time
Ev kategoriyek argûmanan e ku dikare bi cûrbecûr rêbazan were pejirandin. Ti vebijarkên wê tune. Ew kulmek bi navgînek binavkirî ye. Bi hêsanî, hêmanên vê polê hem bi nav û hem jî ji hêla jimareya navnîşê ve têne gihîştin.
Ew ji taybetmendiyên jêrîn pêk tê.
Baldarî! Berevajî çend zimanên din ên bernamekirinê, li vir meh dikare ji 1 heta 12 be, û ne ji sifir heya 11.
Vegerandina Formatek Taybet
Bikaranîna fonksiyonê strftime() hûn dikarin sal, meh, roj, saet, hûrdem, çirkeyan bi serê xwe bistînin û wan vegerînin rêzek nivîsê. Dûv re ew dikare ji bikarhêner re bi karanîna fonksiyonê were çap kirin çapkirin () an jî wekî din têne pêvajo kirin.
Wekî arguman, fonksiyonek dikare her guhêrbarek ku nirxek ku ji hêla fonksiyonên din ên vê modulê ve hatî vegerandin digire bigire. Mînakî, hûn dikarin dema herêmî jê re veguhezînin (ew ê paşê were nîqaş kirin), ku ew ê daneyên pêwîst jê derxe.
Li vir perçeya kodê ye ku em lê dikin.
dema îthalê
named_tuple = time.localtime() # get struct_time
time_string = time.strftime(«%m/%d/%Y, %H:%M:%S», named_tuple)
çapkirin (dem_string)
Ger hûn vê kodê bimeşînin, dê tarîx û demjimêra heyî were xuyang kirin. Format û rêza hêmanan dikare were guhertin. Ew wiha ne:
- %Y sal e.
- %m meh e.
- %d – roj.
- %H – dem.
- %M – deqe.
- %S - duyemîn.
Li gorî vê yekê, hûn dikarin wiya bikin ku encam bi taybetî meh û roj be. Ji bo kirina vê yekê, hûn ne hewce ne ku fermanek bidin ku sal nîşan bidin. Ango di formula jorîn de wekî arguman %m/%d binivîsin û ew e. An jî berevajî, %d/%m.
Bi rastî, hejmara rêzikên rêzikan pir mezintir e. Li vir tabloyek e ku ew bi hûrgulî têne vegotin.
Mijarek ji bo çend saniyeyan paşde bixin
Ji bo vê, fonksiyonê tê bikaranîn xew (). Blokek pir mezin a karên bernamekirinê bi derbasbûna demê re têkildar e. Carinan pêdivî ye ku hûn gava paşîn ji bo demek diyar paşde bixin. Mînakî, heke hûn hewce ne ku bi databasek re têkilî daynin ku ji bo pêvajoyê hindek dem digire.
Wekî arguman, rêbaz nirxek bikar tîne ku jimara saniyeyan diyar dike da ku gava paşîn ji algorîtmê dereng bixe.
Mînakî, di vê perçeyê de, dereng 10 saniye ye.
dema îthalê
rawestandin = 10
çapkirin («Bername dest pê kir…»)
dem.xew (pause)
çapkirin(str(pause) + »çirk derbas bûn.»)
Wekî encamek, em ê vê yekê bistînin:
Bername dest pê kir…
10 saniye derbas bûn.
Wekî ku em ji derketinê dibînin, bername pêşî radigihîne ku dest pê kiriye. Û piştî deh saniyan, wê nivîsî ku ev dem derbas bûye.
Fonksîyon destûrê dide te ku hûn dirêjahiya rawestanê bi milî çirkeyan diyar bikin. Ji bo vê yekê, em nirxên perçeyî yên argumana fonksiyonê bikar tînin xew. Ji bo nimûne, 0,1. Ev tê wê wateyê ku dereng dê bibe 100 milîsaniye.
Dema herêmî bistînin
Bi karanîna fonksiyona localtime() re, bername ji destpêka serdemê ve li herêmek demjimêrek taybetî hejmara saniyan digire.
Ka em ji bo zelaliyê kodek nimûne bidin.
dema îthalê
encam = time.localtime(1575721830)
çapkirin ("encam:", encam)
çap («nгод:», encam.tm_year)
çapkirin(«tm_saet:», encam.tm_saet)
Struktura_time li UTC li ser bingeha hejmara saniyeyan ji serdemê ve vegerîne
Ev kar bi karanîna time.gmtime(). awa. Ger em mînakekê bidin dê zelaltir bibe.
dema îthalê
encam = time.gmtime(1575721830)
çapkirin ("encam:", encam)
çap («nгод:», encam.tm_year)
çapkirin(«tm_saet:», encam.tm_saet)
Ger hûn vê rêza çalakiyan vekin, wê hingê komek hêmanên ku bi dem, sal û devera demjimêr ve girêdayî ne dê werin xuyang kirin.
Hejmara saniyeyan ji destpêka serdemê ve bi veguheztina otomatîkî li dema herêmî vegerîne
Ger hûn bi karekî weha re rû bi rû bimînin, ew bi karanîna rêbazê tête bicîh kirin mktime(), ku digire struct_time. Piştî wê, ew çalakiya berevajî ya fonksiyonê pêk tîne localtime(). Ango dema li gorî qada demjimêra herêmî vediguherîne hejmara saniyeyên ku ji destpêka serdemê re derbas bûne, ji bo qada demjimêrê hatî sererast kirin.
Fonksiyonên mktime() û localtime() ji nêz ve bi hev ve girêdayî ne. Ev pişka kodê bi zelalî vê yekê destnîşan dike. Ka em lê binerin da ku bi kûrahî fêm bikin ka ew çawa dixebite.
dema îthalê
çirke = 1575721830
# struct_time vedigere
t = time.localtime(çirk)
çapkirin («t1: «, t)
# saniyeyan ji struct_time vedigere
s = time.mktime(t)
çapkirin(«ns:», saniye)
Em dibînin ku guherbar seconds ji serdemê ve 1575721830 saniye hatiye veqetandin. Pêşîn, bername tarîx, dem û pîvanên din ên rast distîne, li ser bingeha vê nirxê, wê di guhêrbarekê de bi cih dike. t, û paşê naveroka wê vediguherîne guhêrbar s.
Piştî wê xêzek nû derdixe û hejmara saniyan di konsolê de nîşan dide. Hûn dikarin kontrol bikin ku ew ê heman hejmar be ku ji guhêrbara çirkeyan re hatî destnîşankirin.
Dîroka derketinê ji 9 hejmarên ku behsa struct_time dikin
Bifikirin ku 9 hejmarên me hene ku sal, meh, tarîx, roja hefteyê û hejmarek nirxên din temsîl dikin, û pêdivî ye ku em wan di yek rêzê de bikin yek. Ji bo vê, fonksiyonê tê bikaranîn asctime(). Ew qebûl dike an amade ye struct_time, an tixûbek din a 9 nirxan ku heman tiştî radiweste. Piştî wê, rêzek tê vegerandin, ku dîrok, dem, û hejmarek pîvanên din e.
Pir rehet e ku meriv vê rêbazê bikar bîne da ku daneyên cihêreng ên bikarhêner-ê diyarkirî di guhêrbarek yekane de bîne..
Mînakî, dibe ku ew bernameyek be ku bikarhêner roj, meh, sal, roja hefteyê, û daneyên din ên têkildarî qeydkirina bûyerê ji hev cuda diyar dike. Piştî vê yekê, agahdariya ku hatî wergirtin tête navnîşa databasê û dûv re ji kesek din re ku jê daxwaz dike tê şandin.
Danîna dem û tarîxê li ser bingeha rêzika Python
Bifikirin ku bikarhêner daneya cihêreng diyar kiriye, û pêdivî ye ku em wan di yek rêzê de bi forma ku kesê tê de bi hev re bikin, û dûv re kopiyek ji guhêrbarek din re çêkin, û li wir ji nû ve di forma standard de ava bikin. Ji bo vê, fonksiyonê tê bikaranîn time.strptime().
Ew guhêrbarek ku tê de ev nirx tê destnîşan kirin digire, û ya ku berê ji me re naskirî vedigerîne struct_time.
Ji bo zelaliyê, em ê bernameyek weha binivîsin.
dema îthalê
time_string = «15 Hezîran, 2019»
encam = time.strptime(time_string, «%d %B, %Y»)
çapkirin (encam)
Texmîn bikin ku encam dê çi be? Biceribînin ku hûn texmîn bikin bêyî ku li xeta jêrîn binêrin. Û paşê bersivê kontrol bikin.
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=15, tm_saet=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=166, tm_isdst=-1)
Bi gotinek, xebata bi tarîx û demjimêran di Python de qet ne dijwar e. Bes e ku meriv van rêwerzan bişopîne, û her tişt dê derkeve holê. Bikaranîna Pirtûkxaneyê dem Bikarhêner ji bo xebata bi demê re hejmareke mezin fersend digire, wek:
- Ji bo demek diyarkirî pêkanîna bernameyê rawestîne.
- Wextê ku ji serdemê re derbas bûye, di saniyeyan de nîşan bide. Ev agahdarî dikare were bikar anîn da ku wextê kurt bike an li ser wê operasyonên din ên matematîkî pêk bîne.
- Veguheztin bo formatek hêsan. Digel vê yekê, bernamesaz bixwe dikare destnîşan bike ka kîjan hêman û bi kîjan rêzê têne xuyang kirin.
Gelek îmkanên din jî hene, lê îro me yên herî bingehîn analîz kirin. Ew ê hema hema di her bernameyekê de ku bi rengek bi demê re kar dike bikêrhatî bin. Bextê te xweş bî.