§

Mwelekeo wa ubadilishaji

§

Ingiza muhuri wa wakati wa Unix

§

Matokeo

UTC, eneo lako la ndani, Tokyo, New York, na London kwa chaguo msingi
Onyesha katika maeneo ya wakati

    Muhuri wa wakati wa Unix unasimamia karibu kila mtiririko wa kazi wa mtengenezaji: vipimo vya AWS CloudWatch vimegawanywa kwa sekunde za zama, mistari ya kumbukumbu ya GitHub Actions imepigwa chapa na mifuatano ya RFC 3339, madai ya `iat` na `exp` ndani ya kila JWT hutumia sekunde za zama, na Stripe API hurekodi kila malipo na sehemu ya `created` iliyoonyeshwa kama wakati wa Unix. Kibadilishi hiki hutafsiri kati ya sekunde za zama, millisekunde za zama, ISO 8601 na kukimbia, na mifuatano ya eneo inayojua eneo la wakati kabisa kwenye kivinjari — muhimu unapochunguza tukio la uzalishaji kutoka kwa laptop ambayo haina Python REPL safi au shell karibu.

    Muhuri wa wakati wa Unix ni nini?

    Muhuri wa wakati wa Unix ni idadi ya sekunde (au millisekunde) zilizopita tangu zama za Unix — 1970-01-01T00:00:00Z. Ni njia ya kawaida ya kuwakilisha wakati ndani ya faili za kumbukumbu, majibu ya API, safu za hifadhidata, na madai ya JWT. Kibadilishi hiki huonyesha muhuri wa wakati wakati mmoja kwenye UTC, eneo lako la wakati la ndani, na eneo lolote la IANA unalooongeza, na hubadilisha kwa mwelekeo wote mbili — yote kwenye kivinjari chako, na maombi ya sifuri ya mtandao.

    Ubadilishaji wa muhuri wa wakati wa Unix unafanya kazi vipi?

    Chombo kinaendesha mfumo mdogo, unaoweza kutabiriwa ambao unaiga tabia ya asili ya Date na Intl.DateTimeFormat ya jukwaa:

    1. Ugunduzaji wa ukubwa. Ingizo lolote la nambari kubwa zaidi ya 1012 litreatiwa kama millisekunde; chochote kidogo litreatiwa kama sekunde. 1700000000 inasomwa kama sekunde, 1700000000000 inasomwa kama millisekunde, na zote zinasuluhisha wakati ule ule.
    2. Ujenzi wa wakati. Thamani iliyogunduliwa inazidishwa hadi millisekunde ikihitajika, kisha kupitishwa kwa new Date(ms). Matokeo ni wakati mmoja wa asili wa jukwaa ambao haujabeba eneo la wakati lake mwenyewe — daima ni wakati kwenye mstari wa wakati wa ulimwengu.
    3. Uonyeshaji wa maeneo mengi ya wakati. Kwa kila eneo hai katika kichaguo, chombo kinaita Intl.DateTimeFormat na eneo hilo kuzalisha maoni manne yanayofanana — ISO 8601 na kukimbia sahihi, mfuatano wa mtindo wa RFC 2822, muundo mrefu unaojua eneo, na sentensi ya wakati jamaa kama "dakika 3 zilizopita".
    4. Ubadilishaji wa kinyume wa Tarehe → Muhuri wa Wakati. Ukibadilisha mwelekeo, chombo kinasoma thamani ya saa ya ukuta ya datetime-local pamoja na eneo lililochaguliwa, huhesabu kukimbia kwa eneo hilo kwa wakati huo wa ukuta, na kubadilisha tena hadi wakati wa UTC. Matokeo huonyeshwa kama sekunde za unix na millisekunde za unix na vitufe tofauti vya kunakili.
    5. Kipima muda hai. Kuwasha "Hai" kunaanzisha kitanzi cha setInterval(tick, 1000) kinachopiga upya kila seli kila sekunde; kuizima kunafuta muda na kugandamiza onyesho. Nukta inayopiga mwanga inaiga mkataba wa kawaida wa hali ya moja kwa moja unaotumika kwenye kila zana ya Ultim8Soft.

    Kwa nini kutumia kibadilishi hiki cha muhuri wa wakati wa Unix?

    • Faragha kwa chaguo msingi. Ukurasa haufanyi wito wa mtandao baada ya kupakia hati ya awali. Muhuri wako wa wakati hauondoki kwenye kichupo — fungua DevTools, bonyeza Badilisha, na paneli ya Mtandao inabaki kimya.
    • Sekunde na millisekunde kwenye kisanduku kimoja. Hakuna tena kukisia ni kitengo gani mstari wako wa kumbukumbu unatumia; kigundua ukubwa kinachagua kitengo sahihi na kukuambia alichagua kipi.
    • Maeneo mengi ya wakati kwa mwonekano. Linganisha muhuri wa wakati wa malipo kwenye UTC, meza ya mhandisi wako huko Tokyo, skrini ya mteja huko New York, na kumbukumbu ya ukaguzi huko London — yote kwenye uonyeshaji mmoja, bila hesabu za kalenda.
    • Matokeo sahihi ya RFC. ISO 8601 hutumia kukimbia halisi kwa eneo, RFC 2822 inafuata umbo la kawaida, na mtazamo wa eneo hutumia lugha inayopendelewa ya kivinjari chako. Nambari sawa, muundo minne, hakuna mshangao wa kupiga mzingo.

    Matumizi ya kawaida ya muhuri wa wakati wa Unix ni yapi?

    Popote ambapo mfumo unaandika wakati kama nambari, kibadilishi cha muhuri wa wakati wa Unix ni zana ya kwanza unayofikia:

    • Kutatua mistari ya kumbukumbu. Kumbukumbu za programu kutoka journald, CloudWatch, Datadog, au Sentry kwa kawaida hubeba safu ya zama. Ibandike hapa kuona wakati halisi wa saa kwenye eneo la mhandisi wa zamu na eneo la mteja katika uonyeshaji mmoja.
    • Kusoma madai ya JWT. Madai ya iat na exp ndani ya Tokeni ya Wavuti ya JSON ni muhuri wa wakati wa sekunde za unix. Yaweke ndani kuona wakati tokeni ilipotolewa na wakati itakapokwisha — kwa sekunde, millisekunde, ISO 8601, na wakati jamaa, kando kwa kando.
    • Kulinganisha muhuri wa wakati wa majibu ya API. Malipo ya REST na webhook yanatoa muhuri wa wakati kwa vitengo visivyo thabiti — Stripe hutumia sekunde, Shopify hutumia millisekunde, GitHub hutumia mifuatano ya ISO. Badilisha nambari kamili kuthibitisha uratibu na mstari wa agizo, kumbukumbu ya ukaguzi, na risiti inayoonekana kwa mteja.

    Mfano wa muhuri wa wakati wa Unix unakaa vipi?

    Chukua muhuri wa wakati 1700000000. Kigundua ukubwa kinausoma kama sekunde (iko chini sana ya 1012), kwa hivyo chombo kinajenga new Date(1700000000 * 1000) — wakati 2023-11-14T22:13:20.000Z. Kadi ya UTC inaonyesha mfuatano wa ISO, muundo wa RFC 2822 (Tue, 14 Nov 2023 22:13:20 GMT), muundo mrefu wa eneo, na sentensi jamaa iliyohesabiwa kutoka saa yako ya sasa. Kadi ya Tokyo huonyesha wakati ule ule kama 2023-11-15T07:13:20.000+09:00, kadi ya New York kama 2023-11-14T17:13:20.000-05:00, na kadi ya London kama 2023-11-14T22:13:20.000+00:00. Lisha thamani ile ile kama 1700000000000 kwa millisekunde na utapata uonyeshaji sawa — kigundua ukubwa kinashughulikia kubadilishana kwa kitengo kimya kimya.

    Kibadilishi hiki cha Muhuri wa Wakati wa Unix hufanya kazi moja: kubadilisha nambari kuwa wakati, au wakati kuwa nambari, kwenye kila eneo la wakati unalojali, bila kutuma thamani popote. Bandika, bonyeza, nakili, endelea.