Modula dema Python 3. Rêbazên sereke, şablon, nimûne

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ê.Modula dema Python 3. Rêbazên sereke, şablon, nimûne

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:

  1. %Y sal e.
  2. %m meh e.
  3. %d – roj.
  4. %H – dem.
  5. %M – deqe.
  6. %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.Modula dema Python 3. Rêbazên sereke, şablon, nimûne

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:

  1. Ji bo demek diyarkirî pêkanîna bernameyê rawestîne.
  2. 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.
  3. 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î.

Leave a Reply