← ሁሉም መሣሪያዎች

Unix Timestamp መቀየሪያ

Unix timestamp ወደ ቀናት እና ተመልሶ በአሳሽዎ ውስጥ ወዲያውኑ ይቀይሩ። የepoch ጊዜ፣ ሰከንድና ሚሊሰከንድ፣ የUTC ወጥመዶች እና የ2038 ችግርን ይወቁ።

የUnix ማህተም ጊዜዎች ያለምንም ራስ ምታት

ሦስት ገንቢዎችን ስንት ሰዓት ነው ብለው ይጠይቁ እና እንደየተቀመጡበት ቦታ ሦስት የተለያዩ መልሶች ሊያገኙ ይችላሉ። አንድ የUnix ማህተም ጊዜ ይጠይቁ እና በምድር ላይ ላለው እያንዳንዱ ሰው ተመሳሳይ የሆነ አንድ ትክክለኛ ቁጥር ያገኛሉ። ያ ነጠላ ኢንቲጀር ነው epoch ጊዜ በጸጥታ የሚነካካቸው ማለት ይቻላል እያንዳንዱ የመዝገብ ፋይል፣ የመረጃ ቋት ረድፍ፣ እና የAPI ምላሽ ዋና ምክንያት። ይህ ገጽ ያ ቁጥር ምን ማለት እንደሆነ፣ በሁለቱም አቅጣጫ እንዴት እንደሚነበብ፣ እና ብዙውን ጊዜ ሰዎችን የት እንደሚነክስ ያብራራል።

የUnix epoch ጊዜን የሚወክል ወደ ብርሃን-አሃዞች ዥረት የሚፈታ የሚያበራ ሰዓት
Epoch ጊዜ ከ1970 ጀምሮ ወደፊት የሚንቀሳቀስ ነጠላ ቆጣሪ ነው።

የUnix ጊዜ በትክክል ምንድን ነው

የUnix ማህተም ጊዜ ከ00:00:00 UTC ጃንዋሪ 1፣ 1970 ጀምሮ ያለፉ ሰከንዶች ብዛት ነው፣ leap ሰከንዶችን ሳይቆጥር። ያ ቅጽበት epoch ይባላል፣ በቀደምት Unix ኢንጂነሮች የተመረጠው ለመቁጠር ምቹ ክብ ቀን ስለነበረ ብቻ ነው። በepoch ላይ እሴቱ በትክክል 0 ነው። ከዚያ ጀምሮ እያንዳንዱ ሰከንድ አንድ ይጨምራል፣ ስለዚህ ቁጥሩ ብቻ ያድጋል። ከ1970 በፊት ያሉ ቀናትም ሙሉ በሙሉ ትክክለኛ ናቸው፣ እንደ አሉታዊ ኢንቲጀሮች ተገልጸው።

ይህንን ጽንሰ-ሀሳብ POSIX ጊዜ ወይም፣ በልቅነት፣ epoch ጊዜ ተብሎም ይጠራል። ስያሜው ምንም ይሁን ምን፣ ሜካኒኮች ተመሳሳይ ናቸው፦ አንድ ሁልጊዜ-የሚያድግ የሰከንዶች ቆጣሪ። ቅርጸት የተደረገ ጽሑፍ ሳይሆን ቀላል ኢንቲጀር ስለሆነ፣ ኮምፒዩተር በጥቂት ባይቶች ውስጥ ሊያከማቸው ይችላል እና ሁለቱን በአንድ የቀነሳ ስሌት ማወዳደር ይችላል።

ሰከንዶች፣ ሚሊሰከንዶች እና ጓደኞቻቸው

ክላሲክ Unix ጊዜ ሙሉ ሰከንዶችን ይቆጥራል፣ ይህም ዛሬ የሚያዩትን የታወቀውን ዐስር-አሃዝ ቁጥር ይሰጣል። ግን ብዙ አካባቢዎች ጥሩ ትክክለኛነት ያስፈልጋቸዋል። JavaScript፣ ለምሳሌ፣ በሚሊሰከንዶች ይሰራል፣ አስራ ሦስት-አሃዝ እሴት ያመነጫል፣ አንዳንድ ስርዓቶችም ወደ ማይክሮሰከንዶች ወይም ናኖሰከንዶች ይሄዳሉ። አስተማማኝ ሕግ፦ ዐስር-አሃዝ ቁጥር ሰከንዶች ነው፣ አስራ ሦስት አሃዞች ደግሞ ሚሊሰከንዶች ናቸው። የተቀየረው ቀንዎ አሁን ወደ ጠበቁት ገጻዊ ጊዜ ሳይሆን በ1970 አካባቢ ካረፈ፣ ማለት ይቻላል ወደ ሰከንዶች መስክ ሚሊሰከንዶች አስገብተዋል፣ ወይም በተቃራኒው። መቀየሪያችን መጠኑን በራስ-ሰር ስለሚያውቅ ብዙውን ጊዜ መገመት አያስፈልግዎትም።

ገንቢዎች ለምን ይመኩበታል

ትልቁ ጥቅም ማህተም ጊዜ የጊዜ-ዞን-ገለልተኛ መሆኑ ነው። ኢንቲጀር 1735689600 በቶኪዮ፣ በርሊን እና ሳን ፓውሎ ውስጥ ተመሳሳይ ቅጽበትን ያመለክታል። ያንን ቁጥር ከቅርጸት የተደረገ የአካባቢ ጽሑፍ ይልቅ ማከማቸት ማለት እሴቱ የትኛው ሰዓት እንደሆነ ማሰብ አያስፈልግዎትም ማለት ነው። ደረደራም ቀላል ነው፣ ምክንያቱም ጊዜያዊ ቅደም ተከተል የቁጥር ቅደም ተከተል ብቻ ስለሆነ፣ ስለዚህ በማህተም ጊዜ ዓምድ ላይ ያለ የመረጃ ቋት ኢንዴክስ ምንም ትንታኔ ሳይፈልግ ክስተቶችን በትክክለኛ ቅደም ተከተል ይደረድራል። ስሌትም እኩል ንጹህ ነው፦ በሁለት ክስተቶች መካከል ያለው ልዩነት አንድ ቀነሳ ብቻ ነው፣ አንድ ቀን መጨመርም 86400 መጨመር ብቻ ነው። እነዚህ ባህሪያት በትክክል የመዝገብ ፋይሎች፣ ማስመሰያ ኮዶች፣ cache ዎች እና የመልእክት ወረፋዎች ሁሉ epoch ጊዜ የሚደርሱበት ምክንያት ናቸው።

በሁለቱም አቅጣጫ መቀየር

ከማህተም ጊዜ ወደ በሰው ሊነበብ የሚችል ቀን መሄድ ማለት የሰከንዶች ብዛትን ወስዶ ወደ ካላንደር መተንተን፣ ከዚያም ያንን በሚያስቡት የትኛውም የጊዜ ዞን ውስጥ ቅርጸት ማድረግ ማለት ነው። ወደ ተቃራኒው መሄድ፣ ዓመት፣ ወር፣ ቀን እና ሰዓት ወስደው፣ የትኛው የጊዜ ዞን ውስጥ እንደተገለጸ ይወስናሉ፣ እናም መልሶ ወደ epoch ሰከንዶች ያሳንሱታል። መሳሪያችን ሁለቱንም አቅጣጫዎች ወዲያውኑ እና ሙሉ በሙሉ በአሳሽዎ ውስጥ ያደርጋል፣ ስለዚህ የሚለጥፉት ማንኛውም ነገር ከማሽንዎ አይወጣም። ለመፍታት ቁጥር ይለጥፉ፣ ወይም ለማስመሰል ቀን ይምረጡ፣ ውጤቱንም በተመሳሳይ ቅጽበት በUTC እና በአካባቢ ጊዜዎ ያንብቡ።

በሚፈስ የepoch ሰከንዶች ዥረት ላይ የሚንሸራተት ምልክት ያለው የሚያበራ ጊዜ መስመር ሪባን
አንድ ምልክት በአንድ የጊዜ መስመር ላይ፣ ሁለቱም እንደUTC እና አካባቢ ጊዜ ሊነበብ የሚችል።

UTC vs አካባቢ ጊዜ፣ ክላሲኩ ወጥመድ

ማህተም ጊዜው ራሱ ምንም የጊዜ ዞን የለውም፤ ሁልጊዜ ወደUTC የተሰካ ነው። ግራ መጋባቱ የሚታየው ሲያሳዩት ብቻ ነው። 1700000000ን ከቀየሩ እና ስክሪንዎ የምሽት ሰዓት ቢያሳይ ግን በሌላ ሀገር ያለ ባልደረባዎ የቀትር በኋላ ሰዓት ቢያይ፣ ምንም አልተበላሸም፣ ሁለታችሁም ተመሳሳይ ቅጽበት በተለያዩ የአካባቢ ሰዓቶች ቀርቦ እያያችሁ ናችሁ። ስህተቶች የሚፈጠሩት ኮድ የአካባቢ ቀንን ልክ እንደUTC ሲያነብ፣ ወይም ገጻዊ ሰዓትን ያለ offset ሲያመልክት ነው። ደህናው ልማድ UTCን ማከማቸት እና ማስተላለፍ ነው፣ የአካባቢ offset ደግሞ ለአንድ ሰው እሴቱን ብቻ ሲያሳዩ በመጨረሻ ቅጽበት ላይ ብቻ ይተግብሩ። ጥርጣሬ ካለ፣ ከአካባቢ መስመርዎ ይልቅ በመቀየሪያው ውስጥ ካለው UTC መስመር ጋር ያወዳድሩ።

የ2038 ዓመት ችግር

ብዙ የቆዩ ስርዓቶች የUnix ጊዜን በ32-ቢት ተፈራርመ ኢንቲጀር ውስጥ አከማቹ። ያ መስክ ከ03:14:07 UTC ጃንዋሪ 19፣ 2038 አንድ ሰከንድ በኋላ ቦታ ያልቅበታል፣ ቆጣሪውም overflow ሆኖ ወደ አሉታዊ ቁጥር ይመለሳል፣ ምናልባትም ቀናትን ወደ 1901 ወደኋላ ይወረውራል። ልክ እንደ Y2K ተመሳሳይ ችግር ቤተሰብ ነው። መልካሙ ዜና ዘመናዊ የስራ ስርዓቶች እና ቋንቋዎች በአብዛኛው ወደ 64-ቢት ማህተም ጊዜዎች ተዛውረዋል፣ እነዚህም ለምንም ግምት 292 ቢሊዮን ዓመታት overflow አይሆኑም፣ ስለዚህ ለአዲስ ኮድ በአብዛኛው አደጋ ሳይሆን ማወቅ ተገቢ ታሪካዊ አስገራሚ ነገር ነው።

ተጨማሪ በአሳሽ-ተኮር ደግፎችን ለየገንቢ መሳሪያዎቻችንን ይመልከቱ፣ ራሱን ቁጥሮችን ለመስራት ካስፈለገዎት ደግሞ ካልኩሌተሮች በአንድ ጠቅታ ርቀት ላይ ናቸው።

በተደጋጋሚ የሚጠየቁ ጥያቄዎች

የUnix ማህተም ጊዜ ምንድን ነው?

ከ00:00:00 UTC ጃንዋሪ 1፣ 1970 ጀምሮ ያለፉ ሰከንዶች ብዛት ነው፣ leap ሰከንዶችን ሳይቆጥር። ያ መነሻ ቅጽበት epoch ይባላል፣ ቆጠራውም ብቻ ከጊዜ ወደ ጊዜ ይጨምራል።

ቁጥሬ ወደ 1970 አካባቢ ቀን ለምን ይቀየራል?

ምናልባት ሰከንዶችን እና ሚሊሰከንዶችን ደባልቀው ይሆናል። ዐስር-አሃዝ ቁጥር ሰከንዶች ነው አስራ ሦስት-አሃዝ ቁጥር ደግሞ ሚሊሰከንዶች ናቸው። ሚሊሰከንዶችን ወደ ሰከንዶች መስክ ማስገባት የሚታየውን ጊዜ በግምት በሺህ ይካፍላል፣ ወደepoch አቅራቢያ ያደርስዎታል።

የUnix ማህተም ጊዜ የጊዜ ዞን አለው?

አይ። እሴቱ ሁልጊዜ ወደUTC የተሰካ ነው። የጊዜ ዞን ወደ ስዕሉ ውስጥ የሚገባው ማህተም ጊዜውን በሰው ሊነበብ የሚችል ቀን ሲያሳዩት ብቻ ነው፣ ለዚህም ነው ተመሳሳይ ቁጥር ለተለያዩ ሰዎች የተለያዩ ገጻዊ ሰዓቶች ሊያሳይ የሚችለው።

ቀንን መልሶ ወደ ማህተም ጊዜ እንዴት እቀይራለሁ?

ዓመት፣ ወር፣ ቀን እና ሰዓት ያቅርቡ፣ ያ ቀን የተገለጸበትን የጊዜ ዞን ይወስኑ፣ መሳሪያውም ወደepoch ሰከንዶች ያሳንሰዋል። ሁለቱንም አቅጣጫዎች በዚህ ገጽ ላይ ወዲያውኑ በአሳሽዎ ውስጥ ማድረግ ይችላሉ።

የ2038 ዓመት ችግር ምንድን ነው?

Unix ጊዜን በ32-ቢት ተፈራርመ ኢንቲጀር ውስጥ የሚያከማቹ ስርዓቶች ከ03:14:07 UTC ጃንዋሪ 19፣ 2038 አንድ ሰከንድ በኋላ overflow ይሆናሉ። ዘመናዊ 64-ቢት ማህተም ጊዜዎች ይህንን ለቢሊዮን ዓመታት ያስወግዳሉ፣ ስለዚህ አብዛኛው ወቅታዊ ሶፍትዌር አይነካም።

መረጃዬ ወደ አገልጋይ ይላካል?

አይ። ልወጣው ሙሉ በሙሉ በአሳሽዎ ውስጥ ይካሄዳል፣ ስለዚህ የሚለጥፉት ማንኛውም ማህተም ጊዜ ወይም ቀን በራስዎ መሳሪያ ላይ ይቆያል።