Модул времена у Питхон-у 3. Главне методе, шаблони, примери

Скоро сваки програм користи време. У Питхон-у је развијена посебна библиотека за ово - времекористи се за обављање разних радњи са њим. Да би то функционисало, прво мора бити декларисано на почетку кода. Ова линија се користи за ово:

време увоза

Хајде да размотримо различите опције како правилно користити овај модул у пракси. 

Одређивање броја секунди од епохе

Да бисте извршили овај задатак, постоји функција време() који не узима параметре. Његова повратна вредност је колико је секунди прошло од 1. јануара 1970. У Пајтону се ово време назива почетком епохе. Барем у оперативним системима породице Уник.

Што се тиче Виндовс-а, датум је исти, али може бити проблема са негативним вредностима које су биле пре овог датума. 

Временска зона која се користи је УТЦ.

време увоза

секунде = време.време()

принт(“Секунде од епохе =”, секунде)

Сложеност ове функције је у томе што не приказује тачно датум, већ само број секунди. Да бисте конвертовали у формат познат свима, морате користити тачне информације. За ово се користи функција тиме.цтиме().

Враћање датума, времена у уобичајеном формату

Да бисте вратили време у уобичајеном формату, постоји метод тиме.цтиме(). Заграде означавају променљиву или број који означава број секунди који су прошли од почетка епохе. Овај метод враћа све карактеристике датума и времена, укључујући датум, годину, број сати, минута, секунди и дан у недељи.

Ова функција се такође може користити без аргумената. У овом случају, враћа тренутни датум, време и тако даље.

Ево исечка кода који то демонстрира.

време увоза

принт(тиме.цтиме())

Уто, 23. октобар 10:18:23 2018

Последњи ред је оно што се штампа на конзоли на којој се изводи Питхон интерпретер. Метод аутоматски форматира примљени број секунди у образац који је познат кориснику. Истина, сви горе описани елементи се ретко користе. По правилу, морате добити или само време, или само данашњи датум. За то се користи посебна функција - стрфтиме(). Али пре него што то размотримо, морамо да рашчланимо класу тиме.струцт_тиме.

време класе.струцт_тиме

Ово је категорија аргумената која се може прихватити низом метода. Нема никакве опције. То је тупле са именованим интерфејсом. Једноставно речено, елементима ове класе може се приступити и по имену и по броју индекса.

Састоји се од следећих атрибута.Модул времена у Питхон-у 3. Главне методе, шаблони, примери

Пажња! За разлику од бројних других програмских језика, овде месец може да се креће од 1 до 12, а не од нула до 11.

Враћање одређеног формата

Коришћење функције стрфтиме () можете добити годину, месец, дан, сат, минуте, секунде појединачно и вратити их у текстуални низ. Затим се може одштампати кориснику помоћу функције штампа () или на други начин обрађене.

Као аргумент, функција може узети било коју променљиву која узима вредност коју враћају друге функције овог модула. На пример, можете пренети локално време на њега (о томе ће бити речи касније), из којег ће извући потребне податке.

Ево исечка кода где то радимо.

време увоза

намед_тупле = тиме.лоцалтиме() # гет струцт_тиме

тиме_стринг = тиме.стрфтиме(«%м/%д/%И, %Х:%М:%С», намед_тупле)

принт(временски низ)

Ако покренете овај код, биће приказан тренутни датум и време. Формат и редослед елемената се могу мењати. Они су следећи:

  1. %И је година.
  2. %м је месец.
  3. %д – дан.
  4. %Х – време.
  5. %М – минути.
  6. %С – секунда.

Сходно томе, можете направити тако да излаз буде искључиво за месец и дан. Да бисте то урадили, једноставно не морате да дате команду за приказ године. То јест, у горњој формули упишите као аргумент %м/%д, и то је то. Или обрнуто, %д/%м. 

У ствари, број стринг литерала је много већи. Ево табеле у којој су они детаљно описани.Модул времена у Питхон-у 3. Главне методе, шаблони, примери

Одложите нит на одређени број секунди

За ово се користи функција спавати (). Прилично велики блок програмских задатака повезан је са протоком времена. Понекад морате да одложите следећи корак за одређено време. На пример, ако треба да ступите у интеракцију са базом података за коју је потребно одређено време за обраду.

Као аргумент, метода користи вредност која изражава број секунди за одлагање следећег корака из алгоритма.

На пример, у овом фрагменту кашњење је 10 секунди.

време увоза

пауза = 10

принт(«Програм је започео…»)

време.спавање (пауза)

принт(стр(пауза) + » секунде су прошле.»)

Као резултат, добићемо ово:

Програм је почео…

Прошло је 10 секунди.

Као што видимо из излаза, програм прво јавља да је започео. И после десет секунди написала је да је ово време прошло.

Функција вам омогућава да одредите трајање паузе у милисекундама. Да бисмо то урадили, користимо фракционе вредности аргумента функције спавати. На пример, 0,1. То значи да ће кашњење бити 100 милисекунди.

Добијте локално време

Користећи функцију лоцалтиме(), програм добија број секунди од почетка епохе у одређеној временској зони. 

Хајде да дамо пример кода ради јасноће.

време увоза

резултат = тиме.лоцалтиме(1575721830)

принт(“резултат:”, резултат)

принт(«нгод:», резултат.тм_иеар)

принт(«тм_хоур:», ресулт.тм_хоур)

Врати струцт_тиме у УТЦ-у на основу броја секунди од епохе

Овај задатак се постиже коришћењем тиме.гмтиме(). методом. Биће јасније ако дамо пример.

време увоза

резултат = тиме.гмтиме(1575721830)

принт(“резултат:”, резултат)

принт(«нгод:», резултат.тм_иеар)

принт(«тм_хоур:», ресулт.тм_хоур)

Ако укључите овај редослед радњи, тада ће се приказати скуп елемената који се односе на време, годину и временску зону.

Врати број секунди од почетка епохе са аутоматским претварањем у локално време

Ако се суочите са таквим задатком, он се спроводи помоћу методе мктиме (), која траје струцт_тиме. Након тога врши обрнуто дејство функције Локално време(). Односно, конвертује време према локалној временској зони у број секунди који су прошли од почетка епохе, прилагођен за временску зону.

Функције мктиме() и лоцалтиме() су уско повезане. Овај исјечак кода то јасно показује. Хајде да га погледамо да бисмо дубље разумели како функционише. 

време увоза

секунди = 1575721830

# враћа струцт_тиме

т = време.локално време(секунде)

принт(«т1: «, т)

# враћа секунде из струцт_тиме

с = време.мктиме(т)

принт(«нс:», секунде)

Видимо да променљива секунде је додељено 1575721830 секунди од епохе. Прво, програм добија тачан датум, време и друге параметре, на основу ове вредности, ставља га у променљиву t, а затим конвертује његов садржај у променљиву s.

Након тога откуцава нову линију и приказује број секунди у конзоли. Можете проверити да ли ће то бити исти број који је додељен променљивој секунди.

Излазни датум из 9 бројева који се односе на струцт_тиме

Претпоставимо да имамо 9 бројева који представљају годину, месец, датум, дан у недељи и низ других вредности и морамо да их комбинујемо у један низ. За ово се користи функција асцтиме(). Она прихвата или спремна струцт_тиме, или било који други скуп од 9 вредности који означава исто. Након тога, враћа се стринг, који је датум, време и низ других параметара. 

Веома је згодно користити овај метод како би се различити кориснички специфицирани подаци довели у једну варијаблу..

На пример, то може бити програм у коме корисник посебно наводи дан, месец, годину, дан у недељи и друге податке у вези са регистрацијом за догађај. Након тога, примљени подаци се уносе у базу података и потом се издају другој особи која то затражи.

Добијање времена и датума на основу Питхон стринга

Претпоставимо да је корисник навео различите податке, а ми треба да их комбинујемо у један ред у формату који је особа унела, а затим да направимо копију у другу променљиву и да је поново изградимо у стандардни формат. За ово се користи функција тиме.стрптиме().

Узима променљиву у којој је наведена вредност и враћа нам већ познату струцт_тиме.

Ради јасноће, написаћемо такав програм.

време увоза

тиме_стринг = «15. јун 2019.»

резултат = тиме.стрптиме(тиме_стринг, «%д %Б, %И»)

штампа (резултат)

Погодите какав ће бити резултат? Покушајте да погодите не гледајући у крајњи ред. А онда проверите одговор.

тиме.струцт_тиме(тм_иеар=2019, тм_мон=6, тм_мдаи=15, тм_хоур=0, тм_мин=0, тм_сец=0, тм_вдаи=5, тм_идаи=166, тм_исдст=-1)

Једном речју, рад са датумима и временима у Питхон-у уопште није тежак. Довољно је следити ова упутства и све ће успети. Коришћење библиотеке време корисник добија огроман број могућности за рад са временом, као што су:

  1. Обуставите извршавање програма на одређено време.
  2. Прикажи време које је прошло од епохе, у секундама. Ове информације се могу користити за сумирање времена или за обављање других математичких операција на њему.
  3. Претворите у погодан формат. Штавише, сам програмер може подесити који ће елементи бити приказани и којим редоследом. 

Постоји и низ других могућности, али данас смо анализирали оне најосновније. Они ће добро доћи у скоро сваком програму који некако функционише с временом. Срећно.

Ostavite komentar