JWT exp / iat ጥያቄ ማንበብ
JSON Web Tokens iat (የተሰጠበት) እና exp (የሚያልቅበት) እንደ Unix ሰከንዶች ይኮድላሉ። ቶከኑ አሁንም ትክክለኛ መሆኑን፣ መቼ እንደተሰጠ እና ለማብቃት ምን ያህል እንደቀረ ወዲያውኑ ለማየት ቁጥሩን ይለጥፉ።
ማንኛውንም Unix timestamp (በሰከንዶች ወይም በሚሊሰከንዶች) ወደ ሰው ሊነበብ የሚችል ቀን — ወይም ማንኛውንም ቀን ወደ epoch — ወዲያውኑ ይቀይሩ። ISO 8601፣ RFC 2822፣ UTC፣ የአካባቢ ጊዜ እና 10+ የጊዜ ቀጠናዎች በአንድ ዕይታ።
Unix timestamp ("Unix ጊዜ" ወይም "epoch ጊዜ" ተብሎም ይጠራል) ከ00:00:00 UTC ጥር 1 1970 ሐሙስ ጀምሮ ያለፉ ሰከንዶች ብዛት ነው፣ የመዝለያ ሰከንዶችን ችላ በማለት። በዳታቤዞች፣ በሎግ ፋይሎች፣ በAPIs እና በኩኪዎች ውስጥ ጥቅም ላይ የሚውል ዓለም አቀፍ የጊዜ ቅርጸት ነው። 10-ዲጂት ቁጥር ሰከንዶች ናቸው (በ2286 ወደ 11 ዲጂት ይቀየራል)፤ 13-ዲጂት ቁጥር ሚሊሰከንዶች ናቸው።
አብዛኛዎቹ Unix መሣሪያዎች (curl፣ date፣ syslog፣ JWT exp/iat ጥያቄዎች) ሰከንዶችን ይጠቀማሉ። የJavaScript Date.now ሚሊሰከንዶችን ይመልሳል። Java፣ Kotlin እና ብዙ የድር APIs ሚሊሰከንዶችን ይጠቀማሉ። ቁጥርዎ ዛሬ 10 ዲጂት የሆነ ከሆነ፣ ሰከንዶች ናቸው። 13 ዲጂት ከሆነ፣ ሚሊሰከንዶች ናቸው። iKit በዲጂት ብዛት በራስ-ሰር ይለያል፣ ግን በራዲዮ አዝራሮች ክፍሉን ማስገደድ ይችላሉ።
—
ሰከንዶች
—
ሚሊሰከንዶች
አሳሹ መራጩን እንደ የአካባቢዎ የጊዜ ቀጠና ይተረጉማል — ከተለየ ቀጠና ለመቀየር የOS የጊዜ ቀጠናዎን ይቀይሩ።
Date.parse የሚረዳው ማንኛውም ነገር: "2024-01-15 10:30 UTC"፣ "Jan 15, 2024"፣ "2024-01-15T10:30:00+09:00"።
ሎጎችን፣ APIs እና የዳታቤዝ timestamps ለሚያስተካክሉ ገንቢዎች የተሰራ — ምዝገባ የለም፣ ስቀላ የለም፣ በእርስዎና በዳታዎ መካከል ሶስተኛ ወገን የለም።
የአሁኑ Unix ጊዜ በገጹ ላይ በሰከንዶችና በሚሊሰከንዶች በየሰከንዱ ይዘምናል። ለሁለቱም ቅርጸቶች በአንድ ጠቅታ መቅዳት።
ማንኛውንም ኢንቲጀር ለጥፍ — 10 ዲጂት እንደ ሰከንዶች፣ 13 ዲጂት እንደ ሚሊሰከንዶች፣ 16 እንደ ማይክሮሰከንዶች ይታያል። ሲፈልጉ በክፍል መቀየሪያ በእጅ ይተኩት።
ISO 8601፣ RFC 2822፣ የUTC ሰዓት፣ የእርስዎ አካባቢ ጊዜ እና ዓ-ወ-ቀ ሰ:ደ:ሰ በአንድ ዕይታ። ከዚህም በተጨማሪ የሳምንቱ ቀን እና ሰው ሊነበብ የሚችል አንፃራዊ ልዩነት ("ከ2 ሰዓት በፊት")።
ተመሳሳይ ቅጽበትን በUTC፣ ኒው ዮርክ፣ LA፣ ለንደን፣ ፓሪስ፣ ቶኪዮ፣ ሻንጋይ፣ ታይፔ፣ ኮልካታ እና ሲድኒ ይመልከቱ — በቡድኖች መካከል ለሚከሰቱ ክስተቶችና ለዓለም አቀፍ APIs ይጠቅማል።
ወደ ቀን → Timestamp ሁነታ ይቀይሩ "Jan 15 2024 10:30 UTC" ለመተየብ ወይም ከቀን-ጊዜ ግቤት ይምረጡ፣ Unix timestamp በሰከንዶችና በሚሊሰከንዶች ያግኙ።
ሁሉም ነገር በአሳሽ ትር ውስጥ አስቀድሞ የተጫነ JavaScript ሆኖ ይሰራል። በDevTools → Network ውስጥ ሊረጋገጥ ይችላል: fetch የለም፣ XHR የለም፣ ሎግ የለም። ለማምረቻ timestamps ደህንነቱ የተጠበቀ።
Unix timestamp ኢንቲጀር ብቻ ነው — ግን ወደ ቀን መቀየር አስገራሚ መጠን ያለው ዝርዝር ይይዛል።
Unix timestamp እንደ ምንጩ በሰከንዶች፣ በሚሊሰከንዶች፣ በማይክሮሰከንዶች ወይም በናኖሰከንዶች ሊሆን ይችላል። የመጀመሪያው ሥራ የትኛው እንዳለዎት ማወቅ ነው። iKit የዲጂት ብዛቱን ይመለከታል: ~10 ዲጂት = ሰከንዶች፣ ~13 = ms፣ ~16 = µs። በክፍል ራዲዮ አዝራሮች በራስ-ሰር መለየቱን መተካት ይችላሉ።
የJavaScript Date ገንቢ ሚሊሰከንዶችን ስለሚወስድ፣ ለመደበኛ ሰከንዶች × 1000 እናባዛለን (ወይም ማይክሮሰከንዶችን / 1000 እናካፍላለን)። በውስጡ Date ከepoch ጀምሮ ሚሊሰከንዶችን በ64-ቢት float ያስቀምጣል — ለማንኛውም እውነተኛ timestamp በቂ ክልል።
የDate ነገር ካለን፣ ራሱን በተለያዩ መንገዶች እንዲቀርጽ እንጠይቀዋለን: toISOString ለISO 8601 / UTC፣ toUTCString ለRFC 2822፣ toString ለተጠቃሚው የአካባቢ ቀጠና፣ እና Intl.DateTimeFormat ለማንኛውም ሌላ ለማሳየት ለምንፈልገው የጊዜ ቀጠና።
ሌላውን አቅጣጫ ሲሄድ፣ የአሳሹ Date.parse ISO 8601 እና ብዙ ተፈጥሯዊ ቅርጸቶችን ይይዛል። የdatetime-local ግቤት በተጠቃሚው የአካባቢ የጊዜ ቀጠና ይተረጎማል። getTime ከepoch ጀምሮ ሚሊሰከንዶችን ይመልሳል፤ ለሰከንዶች በ1000 ይካፍሉ።
ለepoch መቀየሪያ የምትደርሱባቸው እውነተኛ ሁኔታዎች።
JSON Web Tokens iat (የተሰጠበት) እና exp (የሚያልቅበት) እንደ Unix ሰከንዶች ይኮድላሉ። ቶከኑ አሁንም ትክክለኛ መሆኑን፣ መቼ እንደተሰጠ እና ለማብቃት ምን ያህል እንደቀረ ወዲያውኑ ለማየት ቁጥሩን ይለጥፉ።
Postgres extract(epoch from now)፣ MySQL UNIX_TIMESTAMP፣ MongoDB $toDate — ሁሉም Unix epoch ይመልሳሉ። እውነተኛውን የግድግዳ-ሰዓት ጊዜ በተለያዩ የጊዜ ቀጠናዎች ለማየት የረድፉን timestamp እሴት ይለጥፉ።
የመተግበሪያ ሎጎች በUTC፣ syslog በአካባቢ ጊዜ፣ የላይኛው አቅራቢ ሎጎች በPST። እዚህ እያንዳንዱን timestamp ወደ ISO 8601 ይቀይሩ፣ ከዚያም ክስተት ሲያሳድዱ ሰከንድ-በ-ሰከንድ ማሰለፍ ይችላሉ።
በመራጩ ውስጥ ወደፊት ቀን ይምረጡ፣ Unix timestamp ይቅዱ፣ ወደ Set-Cookie ራስጌ፣ HTTP Expires መስክ ወይም የcache TTL ውቅርዎ ውስጥ ይለጥፉት። የአዕምሮ ሒሳብ የለም፣ የቀጠና ስህተቶች የሉም።
ከማምረቻ ሎጎች፣ ከደንበኛ ድጋፍ ትኬቶች፣ ከኦዲት ዱካዎች ወይም ከሙከራ ፊክስቸሮች የሚገኙ Timestamps ብዙውን ጊዜ ምንም ጉዳት የሌላቸው ይመስላሉ ግን ከተጠቃሚ ድርጊቶች እና ከመሰረተ ልማት ክስተቶች ጋር የተያያዙ ናቸው። ወደ ሌላ ሰው አገልጋይ ሲለጥፉ፣ የማይቆጣጠሩት የወረቀት ዱካ ይፈጥራል። የiKit መቀየሪያ በአሳሽ ትርዎ ውስጥ አስቀድሞ የተጫነ JavaScript ሆኖ ይሰራል።
ከ iKit ብሎግ ጥልቅ ትምህርቶች እና የመሳሪያ ንፅፅሮች።
Unix timestamp ("Unix ጊዜ" ወይም "epoch ጊዜ" ተብሎም ይጠራል) ከ00:00:00 UTC ጥር 1 1970 ሐሙስ ጀምሮ ያለፉ ሰከንዶች ብዛት ነው፣ የመዝለያ ሰከንዶችን ችላ በማለት። በዳታቤዞች፣ በሎግ ፋይሎች፣ በAPIs እና በኩኪዎች ውስጥ ጥቅም ላይ የሚውል ዓለም አቀፍ የጊዜ ቅርጸት ነው። 10-ዲጂት ቁጥር ሰከንዶች ናቸው (በ2286 ወደ 11 ዲጂት ይቀየራል)፤ 13-ዲጂት ቁጥር ሚሊሰከንዶች ናቸው።
አብዛኛዎቹ Unix መሣሪያዎች (curl፣ date፣ syslog፣ JWT exp/iat ጥያቄዎች) ሰከንዶችን ይጠቀማሉ። የJavaScript Date.now ሚሊሰከንዶችን ይመልሳል። Java፣ Kotlin እና ብዙ የድር APIs ሚሊሰከንዶችን ይጠቀማሉ። ቁጥርዎ ዛሬ 10 ዲጂት የሆነ ከሆነ፣ ሰከንዶች ናቸው። 13 ዲጂት ከሆነ፣ ሚሊሰከንዶች ናቸው። iKit በዲጂት ብዛት በራስ-ሰር ይለያል፣ ግን በራዲዮ አዝራሮች ክፍሉን ማስገደድ ይችላሉ።
አይ። ሙሉ መሣሪያው በአሳሽ ትር ውስጥ የሚሰራ JavaScript ነው። መለወጡ ቀላል የDate ሒሳብ ነው — fetch የለም፣ XHR የለም፣ beacon የለም። DevTools → Network ይክፈቱ እና ይመልከቱ: ሲተይቡ ምንም ጥያቄዎች አይተኩሱም። ከማምረቻ ሎጎች፣ ከስቴጂንግ ዳታቤዞች ወይም ከደንበኛ ድጋፍ ትኬቶች timestamps ለመለጠፍ ደህንነቱ የተጠበቀ።
Unix timestamp በትርጓሜው ከጊዜ ቀጠና ነው — ከepoch UTC ጀምሮ ያለፉ ሰከንዶች ብዛት ነው። የተለየ ሆኖ የሚታየው ሲያሳዩት ነው። በቀን → Timestamp በኩል ያለው መራጭ የአሳሽዎን የአካባቢ የጊዜ ቀጠና ይጠቀማል። በሌላ ቀጠና ቀንን ለማስገባት፣ በግልጽ ማካካሻ ጋር በ ቅርጸት ይተይቡ፣ ለምሳሌ "2024-01-15 10:30:00 +09:00" ወይም "2024-01-15 10:30 UTC"።
32-ቢት የተፈረመ Unix timestamps በጥር 19 2038 ይተርፋል። iKit የJavaScript Number ዓይነትን (53-ቢት ደህና-ኢንቲጀር ክልል) ይጠቀማል፣ ስለዚህ ከ275000 ዓ.ም. በላይ ያሉ ቀኖችን እንይዛለን። የY2038 ጉዳይ 32-ቢት time_t የሚያሄዱ ስርዓቶችን ይነካል — አብዛኞቹ ዘመናዊ የOS ከርነሎች፣ ዳታቤዞች እና ቋንቋዎች አስቀድመው ወደ 64-ቢት ጊዜ ተሸጋግረዋል፣ ግን አሮጌ embedded firmware አሁንም ሊመታው ይችላል።