Тамғаҳои вақти Unix бидуни дардисар
Аз се барномасоз бипурсед, ки соат чанд аст, ва шумо шояд се ҷавоб гиред, вобаста ба он ки онҳо дар куҷо нишастаанд. Аз тамғаи вақти Unix бипурсед ва шумо як рақами дақиқ мегиред, ки барои ҳама дар рӯи замин якхела аст. Маҳз ин бутуни ягона аст, ки бесаранҷом асоси тақрибан ҳар файли сабт, сатри пойгоҳи маълумот ва ҷавоби API-еро, ки шумо ягон гоҳ ламс мекунед, ташкил медиҳад. Ин саҳифа мефаҳмонад, ки ин рақам чиро маънидод мекунад, чӣ гуна онро дар ҳарду самт хонед ва дар куҷо мардумро мегазад.

Вақти Unix воқеан чист
Тамғаи вақти Unix шумораи сонияҳоест, ки аз соати 00:00:00 UTC санаи 1 январи соли 1970 гузаштааст, бидуни ҳисоб кардани сонияҳои ҷаҳиш. Ин лаҳза эпоха номида мешавад ва он аз ҷониби муҳандисони қадимии Unix танҳо барои он интихоб шудааст, ки санаи мувофиқи мудаввар барои ҳисоб буд. Дар эпоха арзиш дуруст 0 аст. Ҳар сония аз он вақт як илова мекунад, бинобар ин рақам танҳо меафзояд. Санаҳои пеш аз 1970 низ комилан дуруст мебошанд, ки ҳамчун бутунҳои манфӣ ифода мешаванд.
Шумо инчунин ин мафҳумро ҳамчун вақти POSIX ё, ба таври суст, вақти эпоха мебинед. Ҳар номе бошад, механика ҳамон аст: як шумораи ҳамеша афзояндаи сонияҳо. Азбаски он бутуни оддист, на сатри форматшуда, компютер онро дар якчанд байт нигоҳ дошта метавонад ва дуто аз онҳоро бо як тарҳ муқоиса кунад.
Сонияҳо, миллисонияҳо ва мисли онҳо
Вақти классикии Unix сонияҳои пурраро мешуморад, ки рақами маъмули даҳрақамаеро, ки имрӯз мебинед, медиҳад. Аммо бисёр муҳитҳо ба дақиқияти нозуктар эҳтиёҷ доранд. JavaScript, масалан, дар миллисония кор мекунад ва арзиши сенздаҳрақамаро тавлид мекунад, ва баъзе системаҳо боз ба микросония ё наносония меравад. Қоидаи хуби ангуштона: рақами даҳрақама сонияанд, сенздаҳрақама миллисонияанд. Агар санаи табдилшудаи шумо тахминан ба соли 1970 расад, дар ҳоле ки шумо имрӯзаро интизор буд, шумо тахминан миллисонияро ба майдони сония ворид кардаед, ё баръакс. Табдилгари мо бузургиро ба таври худкор муайян мекунад, бинобар ин шумо кам вақт маҷбур ба тахмин мешавед.
Чаро барномасозон ба он такя мекунанд
Бартарии калон дар он аст, ки тамға аз минтақаи вақт бетараф аст. Бутуни 1735689600 ба ҳамон лаҳза дар Токио, Берлин ва Сан-Паулу ишора мекунад. Нигоҳ доштани ин рақам ба ҷои сатри форматшудаи маҳаллӣ маънои онро дорад, ки шумо ҳеҷ гоҳ маҷбур намешавед фикр кунед, ки арзиш ба кадом соат тааллуқ дорад. Мураттабсозӣ низ содда аст, зеро тартиби хронологӣ танҳо тартиби рақамист, бинобар ин индекси пойгоҳи маълумот дар сутуни тамға рӯйдодҳоро бидуни ягон таҳлил дуруст мураттаб мекунад. Ҳисоб низ баробар тоза аст: фосила байни ду рӯйдод як тарҳ аст, ва илова кардани як рӯз илова кардани 86400 аст. Маҳз ин хусусиятҳо сабабанд, ки сабтҳо, токенҳо, кэшҳо ва навбатҳои паём ҳама ба вақти эпоха такя мекунанд.
Табдил дар ҳарду самт
Гузаштан аз тамға ба санаи инсонӣ маънои гирифтани шумораи сонияҳо ва проексия кардани онро ба тақвим, сипас форматбандии он дар ҳар минтақаи вақте, ки ба шумо аҳамият дорад, дорад. Дар самти дигар, шумо сол, моҳ, рӯз ва вақтро мегиред, тасмим мегиред ки он дар кадом минтақаи вақт ифода шудааст, ва онро ба сонияҳо аз эпоха мепечонед. Абзори мо ҳарду самтро фавран ва комилан дар браузери шумо иҷро мекунад, бинобар ин ҳеҷ чизе, ки шумо мечаспонед, дастгоҳи шуморо тарк намекунад. Барои рамзкушоӣ рақамеро гузоред, ё барои рамзгузорӣ санаеро интихоб кунед, ва натиҷаро ҳам дар UTC ва ҳам дар вақти маҳаллии худ дар ҳамон лаҳза хонед.

UTC дар муқобили вақти маҳаллӣ, доми классикӣ
Худи тамға минтақаи вақт надорад; он ҳамеша ба UTC баста шудааст. Норозигӣ танҳо вақте пайдо мешавад, ки шумо онро намоиш медиҳед. Агар шумо 1700000000-ро табдил диҳед ва экрани шумо соати шомро нишон диҳад, дар ҳоле ки ҳамкоратон дар кишвари дигар соати нисфирӯзро мебинад, ҳеҷ чиз вайрон нест, шумо ҳарду ба ҳамон лаҳза нигоҳ мекунед, ки дар соатҳои маҳаллии гуногун намоён шудааст. Хатогиҳо вақте пайдо мешаванд, ки код санаи маҳаллиро гӯё UTC мехонад, ё вақти деворро бидуни сабти фарқ мемуҳрад. Одати бехатар ин аст, ки UTC-ро нигоҳ доред ва фиристед, ва танҳо дар охирин лаҳза, вақте ки арзишро ба инсон нишон медиҳед, фарқи маҳаллиро татбиқ кунед. Дар сурати шубҳа, бо хати UTC дар табдилгар муқоиса кунед, на хати маҳаллии худ.
Мушкилоти соли 2038
Бисёр системаҳои қадимӣ вақти Unix-ро дар бутуни имзошудаи 32-битӣ нигоҳ медоштанд. Он майдон як сония пас аз соати 03:14:07 UTC санаи 19 январи соли 2038 ҷои холиро тамом мекунад, вақте ки шумора саршор шуда ба рақами манфӣ мегардад ва эҳтимол санаҳоро ба соли 1901 бармегардонад. Ин ҳамон оилаи масъаласт, ки Y2K дошт. Хабари хуб он аст, ки системаҳо ва забонҳои муосир бештар ба тамғаҳои 64-битӣ гузаштаанд, ки барои тахминан 292 миллиард сол саршор намешаванд, бинобар ин барои коди нав он бештар як кунҷковии таърихӣ аст, ки арзиши донистан дорад, на ҳолати фавқулода.
Барои дигар ёрирасонҳои дар браузер асосёфта дигар абзорҳои барномасозон-и моро бубинед, ва агар шумо ба худи рақамҳо кор кардан ниёз доред, ҳисобкунакҳо як клик дуранд.
Саволҳои зуд додашаванда
Тамғаи вақти Unix чист?
Он шумораи сонияҳо аз соати 00:00:00 UTC санаи 1 январи соли 1970 аст, бидуни ҳисоб кардани сонияҳои ҷаҳиш. Он лаҳзаи оғозӣ эпоха номида мешавад ва шумора танҳо бо гузашти вақт меафзояд.
Чаро рақами ман ба санаи наздики 1970 табдил меёбад?
Шумо эҳтимолан сонияҳо ва миллисонияҳоро ба ҳам омехтаед. Рақами даҳрақама сония ва рақами сенздаҳрақама миллисония аст. Ворид кардани миллисония ба майдони сония вақти зоҳириро тахминан ба ҳазор тақсим мекунад, ки шуморо ба наздики эпоха меорад.
Оё тамғаи вақти Unix минтақаи вақт дорад?
Не. Арзиш ҳамеша ба UTC баста шудааст. Минтақаи вақт танҳо вақте ба саҳна медарояд, ки шумо тамғаро ҳамчун санаи хонданбоби инсонӣ намоиш медиҳед, ки маҳз барои ҳамин ҳамон рақам метавонад барои одамони гуногун соатҳои деворвори гуногунро нишон диҳад.
Чӣ гуна санаро бармегардонам ба тамға?
Сол, моҳ, рӯз ва вақтро таъмин кунед, тасмим бигиред, ки он сана дар кадом минтақаи вақт ифода шудааст, ва абзор онро ба сонияҳо аз эпоха мепечонад. Шумо метавонед ҳарду самтро дар ин саҳифа фавран дар браузери худ иҷро кунед.
Мушкилоти соли 2038 чист?
Системаҳое, ки вақти Unix-ро дар бутуни имзошудаи 32-битӣ нигоҳ медоранд, як сония пас аз соати 03:14:07 UTC санаи 19 январи соли 2038 саршор мешаванд. Тамғаҳои 64-битии муосир барои миллиардҳо сол аз ин канда мегиранд, бинобар ин аксари нармафзори ҳозира таъсир намебинанд.
Оё маълумоти ман ба сервер фиристода мешавад?
Не. Табдил комилан дар браузери шумо кор мекунад, бинобар ин ҳар тамға ё сана, ки шумо мечаспонед, дар дастгоҳи худи шумо мемонад.
