Unix ժամանակի և դրա դերի հասկացությունը ծրագրավորման մեջ
Unix ժամանակը (Unix time կամ Epoch time) համակարգչային համակարգերում ժամանակի չափման և գրանցման հիմնարար ձևաչափ է: Այն ներկայացնում է մի ամբողջ թիվ, որը ցույց է տալիս, թե քանի վայրկյան կամ միլիվայրկյան է անցել Unix դարաշրջանի (Unix epoch) սկզբից: Unix դարաշրջանի մեկնարկային կետն է 1970 թվականի հունվարի 1-ի UTC ժամանակով կեսգիշերը (00:00:00 UTC): Գործիքը հնարավորություն ունի հաջողությամբ փոխակերպել նաև հենց 0 արժեքով դարաշրջանը (epoch 0):
Այս համակարգը լայնորեն կիրառվում է տեղեկատվական տեխնոլոգիաներում, քանի որ մեկ ամբողջական թիվը շատ ավելի հեշտ է պահպանել, համեմատել և մշակել տվյալների բազաներում, քան ամսաթվի և ժամի բարդ տեքստային տողերը: Unix ժամանակային դրոշմները հաճախ հանդիպում են համակարգային լոգերում (system logs), ծրագրային կոդերի վրիպազերծման (debugging) գործընթացներում և տվյալների փոխանակման տարբեր ձևաչափերում:
Վայրկյանների և միլիվայրկյանների տարբերակումը
Unix ժամանակային դրոշմները կարող են արտահայտվել ինչպես վայրկյաններով, այնպես էլ միլիվայրկյաններով: Փոխակերպիչն ավտոմատ կերպով տարբերակում է այս երկու միավորները՝ հիմնվելով մուտքագրված թվի մեծության վրա.
- 10-նիշանոց արժեքները (օրինակ՝
1700000000) մեկնաբանվում են որպես վայրկյաններ: - 13-նիշանոց արժեքները մեկնաբանվում են որպես միլիվայրկյաններ:
Այս ավտոմատացված կանոնն օգնում է խուսափել ձեռքով միավոր ընտրելու անհրաժեշտությունից և ապահովում է արդյունքների ակնթարթային ցուցադրումը:
Ժամային գոտիների կարևորությունը և ISO 8601 ձևաչափը
Ամսաթվերի փոխակերպման ժամանակ առանցքային դեր ունեն ժամային գոտիները: Unix ժամանակն ինքնին կախված չէ ժամային գոտուց և միշտ հաշվարկվում է ըստ UTC-ի: Սակայն մարդկանց համար ընթեռնելի ձևաչափի անցնելիս անհրաժեշտ է հաշվի առնել տեղական ժամանակը:
Գործիքն ապահովում է արդյունքների միաժամանակյա ցուցադրումը մի քանի ձևաչափերով.
- Տեղական ժամանակ. Ցուցադրում է ամսաթիվն ու ժամը՝ հարմարեցված Ձեր օգտագործած սարքի ընթացիկ ժամային գոտուն:
- UTC. Համաշխարհային համակարգված ժամանակով ստացված արդյունքը:
- ISO 8601. Միջազգային ստանդարտացված ձևաչափ, որը հեշտությամբ ընթեռնելի է թե՛ մարդկանց, թե՛ մեքենաների համար և միշտ ներկայացվում է UTC ժամանակով:
Բացի այդ, գործիքը հաշվարկում է հարաբերական ժամանակը (Relative time), որը ցույց է տալիս, թե որքան ժամանակ է անցել տվյալ պահից կամ որքան ժամանակ կա դրան հասնելու համար (օրինակ՝ «հենց նոր»):
Ինչպես է աշխատում փոխակերպիչը
Օգտագործողը կարող է մուտքագրել Unix ժամանակային դրոշմ կամ ընտրել ամսաթիվ ու ժամ հատուկ օրացույցային ինտերֆեյսի միջոցով: Գործիքն աջակցում է նաև ընթացիկ ժամանակի օգտագործումը որպես մուտքային տվյալ («Օգտագործել ընթացիկ ժամանակը») և հնարավորություն է տալիս մեկ կտտոցով մաքրել բոլոր դաշտերը («Մաքրել»):
Արդյունքների պատճենումը հեշտացված է. ցանկացած ստացված արժեքի վրա կտտացնելիս այն ավտոմատ կերպով պատճենվում է սարքի բուֆերում (clipboard):
Սխալների մշակում և կանոններ
Եթե մուտքագրված տվյալները չեն համապատասխանում պահանջվող ձևաչափերին, համակարգը թաքցնում է արդյունքները և ցուցադրում համապատասխան հաղորդագրություն.
- Ոչ թվային տվյալների կամ անվավեր ժամանակային դրոշմի դեպքում հայտնվում է հետևյալ հաղորդագրությունը. «Անվավեր ժամանակային դրոշմ. մուտքագրեք վայրկյանների կամ միլիվայրկյանների ամբողջ թիվ»:
- Եթե մուտքագրված թիվը դուրս է թույլատրելի սահմաններից, ցուցադրվում է հետևյալ հաղորդագրությունը. «Այդ թիվը դուրս է վավեր ամսաթվի սահմաններից»:
Տվյալների մշակման գաղտնիությունը
Այս գործիքի կարևոր առանձնահատկությունն այն է, որ բոլոր հաշվարկներն ու փոխակերպումները կատարվում են անմիջապես Ձեր բրաուզերում: Մուտքագրված ոչ մի տվյալ կամ ժամանակային դրոշմ չի ուղարկվում արտաքին սերվերներին և չի վերբեռնվում BroBroGo: Սա ապահովում է տվյալների տեղային մշակումը հենց Ձեր սարքում:
Հաճախ տրվող հարցեր (FAQ)
Անվտա՞նգ է արդյոք ժամանակային դրոշմն այստեղ տեղադրելը:
Այո՛: Փոխակերպումն ամբողջությամբ կատարվում է Ձեր բրաուզերում. BroBroGo-ին ոչինչ չի ուղարկվում:
Ինչպե՞ս է այն պարզում՝ արդյոք իմ ժամանակային դրոշմը վայրկյաններով է, թե՞ միլիվայրկյաններով:
Ըստ մեծության. 10-նիշանոց արժեքը դիտարկվում է որպես վայրկյաններ, իսկ 13-նիշանոց արժեքը՝ որպես միլիվայրկյաններ: Սա նույն կանոնն է, որն օգտագործում է յուրաքանչյուր epoch փոխակերպիչ, քանի որ այդքան մեծ վայրկյանային ժամանակային դրոշմը կլիներ դարեր անց ապագայում:
Ո՞ր ժամային գոտով են ցուցադրվում արդյունքները:
«Տեղական»-ն օգտագործում է Ձեր սարքի սեփական ժամային գոտին, մինչդեռ UTC-ն և ISO 8601-ը միշտ համաշխարհային համակարգված ժամանակն են (Coordinated Universal Time)՝ անկախ Ձեր գտնվելու վայրից: