Kusoma madai ya JWT exp / iat
JSON Web Tokens husimba iat (ilitolewa) na exp (inakwisha) kama sekunde za Unix. Bandika namba ili kuona mara moja kama tokeni bado ni halali, ilitolewa lini, na muda gani uliobaki kabla ya kuisha.
Badilisha Unix timestamp yoyote (sekunde au milisekunde) kuwa tarehe inayosomeka na binadamu — au tarehe yoyote kurudi kuwa epoch — papo hapo. ISO 8601, RFC 2822, UTC, muda wa eneo, na zaidi ya kanda 10 za saa katika mwonekano mmoja.
Unix timestamp (pia inaitwa "muda wa Unix" au "muda wa epoch") ni idadi ya sekunde zilizopita tangu 00:00:00 UTC mnamo Alhamisi, 1 Januari 1970, bila kuhesabu sekunde za kuruka. Ni muundo wa muda wa kimataifa unaotumika katika hifadhidata, faili za kumbukumbu, API, na vidakuzi. Namba ya tarakimu 10 ni sekunde (itabadilika kuwa tarakimu 11 mwaka 2286); namba ya tarakimu 13 ni milisekunde.
Zana nyingi za Unix (curl, date, syslog, madai ya JWT exp/iat) hutumia sekunde. Date.now ya JavaScript hurudisha milisekunde. Java, Kotlin, na API nyingi za wavuti hutumia milisekunde. Kama namba yako ina takriban tarakimu 10 leo, ni sekunde. Kama ni tarakimu 13, ni milisekunde. iKit hutambua kiotomatiki kwa idadi ya tarakimu, lakini unaweza kulazimisha kipimo kwa vitufe vya redio.
—
sekunde
—
milisekunde
Kivinjari hutafsiri kichaguzi kama kanda yako ya eneo — badilisha kanda ya saa ya OS yako ili kubadilisha kutoka kanda tofauti.
Chochote ambacho Date.parse huelewa: "2024-01-15 10:30 UTC", "Jan 15, 2024", "2024-01-15T10:30:00+09:00".
Imetengenezwa kwa watengenezaji wanaotatua kumbukumbu, API, na timestamp za hifadhidata — bila usajili, bila kupakia, bila mtu wa tatu kati yako na data yako.
Muda wa sasa wa Unix unasasishwa kila sekunde juu ya ukurasa kwa sekunde na milisekunde. Nakili kwa mbofyo mmoja kwa muundo wowote.
Bandika namba kamili yoyote — tarakimu 10 inachukuliwa kama sekunde, tarakimu 13 kama milisekunde, 16 kama mikrosekunde. Tengua kwa mkono kwa kitufe cha kipimo unapohitaji.
ISO 8601, RFC 2822, saa ya UTC, muda wako wa eneo, na Mwaka-Mwezi-Siku Saa:Dakika:Sekunde katika mwonekano mmoja. Pamoja na siku ya wiki na ulinganisho unaosomeka na binadamu ("saa 2 zilizopita").
Tazama wakati huo huo katika UTC, New York, LA, London, Paris, Tokyo, Shanghai, Taipei, Kolkata, na Sydney — muhimu kwa matukio ya timu mbalimbali na API za kimataifa.
Badilisha kwenda hali ya Tarehe → Timestamp ili kuandika "Jan 15 2024 10:30 UTC" au chagua kutoka ingizo la tarehe-muda, pata Unix timestamp kwa sekunde na milisekunde.
Kila kitu hufanya kazi kama JavaScript ambayo tayari imepakiwa katika kichupo cha kivinjari chako. Inathibitishika katika DevTools → Network: bila fetch, bila XHR, bila kumbukumbu. Salama kwa timestamp za uzalishaji.
Unix timestamp ni namba kamili tu — lakini kuibadilisha kuwa tarehe kunahusisha maelezo mengi ya kushangaza.
Unix timestamp inaweza kuwa katika sekunde, milisekunde, mikrosekunde, au nanosekunde kulingana na chanzo. Kazi ya kwanza ni kujua una ipi. iKit huangalia idadi ya tarakimu: ~tarakimu 10 = sekunde, ~13 = ms, ~16 = µs. Unaweza kutengua utambuzi wa kiotomatiki kwa vitufe vya redio vya kipimo.
Mjenzi wa Date wa JavaScript huchukua milisekunde, hivyo tunazidisha sekunde × 1000 (au kugawanya mikrosekunde / 1000) ili kusawazisha. Ndani, Date huhifadhi milisekunde tangu epoch katika float ya biti 64 — safu ya kutosha kwa timestamp yoyote halisi.
Mara tu tunapokuwa na kitu cha Date, tunaomba kijipange kwa njia kadhaa: toISOString kwa ISO 8601 / UTC, toUTCString kwa RFC 2822, toString kwa kanda ya eneo la mtumiaji, na Intl.DateTimeFormat kwa kanda nyingine yoyote ya saa tunayotaka kuonyesha.
Kwenda upande mwingine, Date.parse ya kivinjari hushughulikia ISO 8601 na miundo mingi ya asili. Ingizo la datetime-local hutafsiriwa katika kanda ya saa ya eneo la mtumiaji. getTime hurudisha milisekunde tangu epoch; gawanya kwa 1000 kupata sekunde.
Hali halisi ambapo utahitaji kibadilishi cha epoch.
JSON Web Tokens husimba iat (ilitolewa) na exp (inakwisha) kama sekunde za Unix. Bandika namba ili kuona mara moja kama tokeni bado ni halali, ilitolewa lini, na muda gani uliobaki kabla ya kuisha.
Postgres extract(epoch from now), MySQL UNIX_TIMESTAMP, MongoDB $toDate — zote hurudisha epoch ya Unix. Bandika thamani ya timestamp ya safu ili kuona muda halisi wa saa ya ukutani katika kanda mbalimbali za saa.
Kumbukumbu za programu katika UTC, syslog katika muda wa eneo, kumbukumbu za mtoaji wa juu katika PST. Badilisha kila timestamp kuwa ISO 8601 hapa, kisha unaweza kuzipanga sekunde kwa sekunde unapofuatilia tukio.
Chagua tarehe ya baadaye katika kichaguzi, nakili Unix timestamp, ibandike katika kichwa cha Set-Cookie, uga wa HTTP Expires, au usanidi wa TTL ya cache yako. Bila hesabu za akilini, bila makosa ya kanda ya off-by-one.
Timestamp kutoka kumbukumbu za uzalishaji, tiketi za usaidizi wa wateja, njia za ukaguzi, au vifaa vya majaribio mara nyingi huonekana visivyo na madhara lakini zimeunganishwa na vitendo vya watumiaji na matukio ya miundombinu. Kuzibandika katika seva ya mtu mwingine huunda njia ya karatasi usiyoidhibiti. Kibadilishi cha iKit hufanya kazi kama JavaScript ambayo tayari imepakiwa katika kichupo cha kivinjari chako.
Mafunzo ya kina na ulinganishaji wa zana kutoka blogu ya iKit.
Unix timestamp (pia inaitwa "muda wa Unix" au "muda wa epoch") ni idadi ya sekunde zilizopita tangu 00:00:00 UTC mnamo Alhamisi, 1 Januari 1970, bila kuhesabu sekunde za kuruka. Ni muundo wa muda wa kimataifa unaotumika katika hifadhidata, faili za kumbukumbu, API, na vidakuzi. Namba ya tarakimu 10 ni sekunde (itabadilika kuwa tarakimu 11 mwaka 2286); namba ya tarakimu 13 ni milisekunde.
Zana nyingi za Unix (curl, date, syslog, madai ya JWT exp/iat) hutumia sekunde. Date.now ya JavaScript hurudisha milisekunde. Java, Kotlin, na API nyingi za wavuti hutumia milisekunde. Kama namba yako ina takriban tarakimu 10 leo, ni sekunde. Kama ni tarakimu 13, ni milisekunde. iKit hutambua kiotomatiki kwa idadi ya tarakimu, lakini unaweza kulazimisha kipimo kwa vitufe vya redio.
Hapana. Zana nzima ni JavaScript inayofanya kazi ndani ya kichupo cha kivinjari chako. Ubadilishaji ni hesabu rahisi za Date — bila fetch, bila XHR, bila beacon. Fungua DevTools → Network na uangalie: hakuna ombi linalotumwa unapoandika. Salama kubandika timestamp kutoka kumbukumbu za uzalishaji, hifadhidata za majaribio, au tiketi za usaidizi wa wateja.
Unix timestamp haina kanda ya saa kwa ufafanuzi — ni idadi ya sekunde tangu epoch UTC. Inapoonekana tofauti ni unapoionyesha. Kichaguzi katika upande wa Tarehe → Timestamp hutumia kanda ya saa ya eneo la kivinjari chako. Ili kuingiza tarehe katika kanda nyingine, iandike kwa muundo huru ukiwa na ofseti wazi, mfano "2024-01-15 10:30:00 +09:00" au "2024-01-15 10:30 UTC".
Unix timestamp za biti 32 zenye ishara hufurika tarehe 19 Januari 2038. iKit hutumia aina ya Number ya JavaScript (safu salama ya namba kamili ya biti 53), hivyo tunashughulikia tarehe zaidi ya mwaka 275000 BK. Tatizo la Y2038 huathiri mifumo inayoendesha time_t ya biti 32 — kerneli nyingi za OS, hifadhidata, na lugha za kisasa tayari zimehamia muda wa biti 64, lakini firmware ya zamani iliyopachikwa bado inaweza kuathirika.