Epoch tímaumbreytir

Breyttu Unix tímastimplum í UTC dagsetningar eða dagsetningu í epoch sekúndur.

Veldu hvort þú vilt breyta tímastimpli í dagsetningu eða dagsetningu í tímastimpil.
Sláðu inn Unix tímastimpilinn í sekúndum.

Umbreytt gildi

2024-03-09T16:00:00.000Z

UTC-gildi2024-03-09T16:00:00.000Z
Unix-millisekúndur1,710,000,000,000
VikudagurSaturday

Hvernig á að nota þennan epoch-tímabreytir

  1. Veldu umbreytingarham

    Veldu „Epoch í dagsetningu“ eða „Dagsetning í epoch“ í reitnum fyrir umbreytingarham.

  2. Fyrir epoch í dagsetningu

    Sláðu inn Unix-tímastimpilinn í sekúndum í reitinn „Epoch-tímastimpill (sekúndur)“.

  3. Fyrir dagsetningu í epoch

    Veldu dagsetninguna í dagatalinu, stilltu síðan klukkustund (UTC), mínútu (UTC) og sekúndu (UTC) eftir þörfum.

  4. Lesa niðurstöðu

    Reiknivélin sýnir UTC-gildið, Unix-millisekúndur og vikudag.

Aðferðafræði

Hvernig þessi epoch-tímabreytir virkar

Þessi epoch-tímabreytir þýðir á milli Unix-tímastimpla og læsilegra UTC-dagsetninga. Unix-tími — einnig kallaður POSIX-tími eða epoch-tími — telur fjölda sekúndna sem liðnar eru frá Unix-epoch, sem er skilgreint sem miðnætti UTC þann 1. janúar 1970 (1970-01-01T00:00:00Z). Þessi framsetning með einni heiltölu er raunverulegur staðall fyrir geymslu og sendingu tímastimpla í gagnagrunnum, API-viðmótum, annálaskrám, JWT-táknum og nánast öllum nútíma forritunarmálum. Breytirinn ræður við báðar áttir: ef sleginn er inn tölulegur tímastimpill fæst samsvarandi UTC-dagsetning, vikudagur og millisekúndugildi, en ef slegin er inn dagsetning og tími úr dagatali fæst epoch-gildið í sekúndum og millisekúndum.

Formúla
Unix-tími = sekúndur liðnar frá 1970-01-01T00:00:00Z
epoch Viðmiðunarpunkturinn: miðnætti UTC þann 1. janúar 1970 (Unix-tímastimpill 0)
Unix-tími (s) Heildarfjöldi sekúndna frá upphafi tímabils (epoch) til tilgreindrar dagsetningar og tíma
Unix-tími (ms) Unix-tími í sekúndum margfaldaður með 1.000 — notaður af JavaScript Date, Java System.currentTimeMillis() og mörgum forritaskilum (API)
UTC-dagsetning Dagsetning í gregoríanska tímatalinu og 24-stunda tími sem samsvarar gefnu tímastimpli
vikudagur Heiti vikudags dregið af umbreyttri UTC-dagsetningu
Dæmi

Til að breyta Unix tímastimplinum 1.700.000.000 í dagsetningu: byrjaðu á 1970-01-01 00:00:00 UTC og bættu við 1.700.000.000 sekúndum. Þetta jafngildir 19.675 dögum, 17 klukkustundum, 46 mínútum og 40 sekúndum. Niðurstaðan er UTC-dagsetningin 2023-11-14 kl. 22:13:20 UTC, sem er þriðjudagur. Jafngildið í millisekúndum er 1.700.000.000.000. Aftur á móti gefur það að slá inn 14. nóvember 2023 kl. 22:13:20 UTC nákvæmlega tímagildið 1.700.000.000.

Tímastimpillinn 0 breytist í 1970-01-01 00:00:00 UTC (fimmtudag). Samsvarandi millisekúndugildi er 0.

Tímastimpillinn 1.704.000.000 breytist í 2023-12-31 12:00:00 UTC (sunnudag). Ef sú dagsetning og tími er sleginn inn í „Dagsetning í epoch“ stillingu skilar það 1.704.000.000.

Forsendur
  • Allir útreikningar eru í UTC. Umreikningur í staðartíma krefst þess að viðeigandi tímabeltismun sé bætt við eftir umreikninginn.
  • Hlaupsekúndur eru ekki taldar með. Líkt og POSIX gerir þessi breytir ráð fyrir að hver dagur sé nákvæmlega 86.400 sekúndur, sem samsvarar hegðun flestra forritunarmála og stýrikerfa.
  • Neikvæð tímastimpli tákna dagsetningar fyrir upphaf tímabilsins (1. janúar 1970). Til dæmis samsvarar −86400 31. desember 1969.
  • Deila ætti tímastimplum í millisekúndum með 1.000 fyrir innslátt; breytirinn tekur við sekúndum sem inntaki og sýnir samsvarandi millisekúndur í niðurstöðunum.
Athugasemdir
  • Date.now() í JavaScript og System.currentTimeMillis() í Java skila millisekúndum, ekki sekúndum — deildu með 1.000 áður en gildið er slegið inn hér, eða notaðu millisekúndu-úttakið til samanburðar.
  • Ársins 2038 vandamálið hefur áhrif á 32-bita heiltölu-tímastimpla, sem munu flæða yfir þann 19. janúar 2038 kl. 03:14:07 UTC. Flest nútímakerfi hafa fært sig yfir í 64-bita tímastimpla.
  • Þegar verið er að kemba API-svör eða annálaskrár skal fylgjast með tímastimplum sem virðast skeika um nákvæmlega 3.600 eða 7.200 sekúndur — þetta gefur venjulega til kynna að tímabeltisleiðréttingu hafi verið bætt við (eða hún sleppt) einhvers staðar í ferlinu.
  • Epoch-tími er alltaf einhalla vaxandi (ef sleppt er leiðréttingum vegna hlaupasekúndna), sem gerir hann tilvalinn til að raða atburðum, reikna tímalengdir og búa til einstök tímabundin auðkenni.
Heimildir
  1. IEEE Std 1003.1 (POSIX) — skilgreining á sekúndum frá upphafi (Seconds Since the Epoch)
  2. Uppruni Unix epoch — Skjöl frá The Unix Heritage Society og Bell Labs
  3. RFC 3339 — Dagsetning og tími á internetinu: Tímastimplar

Hvað eru Unix-tímastimplar?

Unix-tímastimpill er fjöldi sekúndna sem liðnar eru frá miðnætti UTC þann 1. janúar 1970 — Unix-tímamótunum. Þessi eina heiltala er raunverulegur staðall til að tákna tíma í gagnagrunnum, API-viðmótum, annálaskrám og flestum forritunarmálum. Þar sem hún er óháð tímabeltum og eykst jafnt og þétt, einfaldar hún röðun, útreikninga á tímalengd og samanburð á tíma. Date.now() í JavaScript og mörg API-viðmót skila millisekúndum (1.000 × sekúndur), svo deildu með 1.000 áður en þú slærð inn millisekúndugildi hér. Neikvæðir tímastimplar tákna dagsetningar fyrir 1970; til dæmis er −86400 nákvæmlega einn dagur fyrir tímamótin.

Notkunardæmi fyrir forritara á epoch-tíma

Forritarar nota Unix-tímastimpla þegar þeir vista tímasetningar atburða í gagnagrunnum, raðgreina dagsetningar í JSON API-viðmótum, búa til tímabundna flýtiminnislykla og kemba annálafærslur. Dálkar í gagnagrunnum geyma oft tímastimpla sem heiltölur fyrir skilvirka vísitölugerð og leit. API-svör skila oft epoch-sekúndum eða millisekúndum til að forðast óvissu um tímabelti. Við kembingu sýnir það fljótt hvort gildið er rétt eða skekkt vegna tímabeltis ef hráum tímastimpli úr annáli eða JWT-kröfu er breytt í læsilega dagsetningu. Epoch-tími er einnig notaður fyrir hraðatakmarkanir, gildistíma lotu og til að búa til raðanleg einkvæm auðkenni í dreifðum kerfum.

Algengar spurningar um Epoch-tímabreyti

Hvað er Unix epoch?

Unix epoch er viðmiðunarpunkturinn sem Unix-tími er mældur út frá: miðnætti UTC þann 1. janúar 1970 (1970-01-01T00:00:00Z). Tímastimpillinn 0 samsvarar þeirri stundu nákvæmlega.

Af hverju hefur JavaScript-tímastimpillinn minn fleiri tölustafi?

JavaScript Date.now() skilar millisekúndum frá upphafstíma (epoch), ekki sekúndum. Deildu með 1.000 til að breyta í sekúndusniðið sem þetta tól notar, eða berðu beint saman við millisekúnduúttakið.

Get ég slegið inn neikvæðan tímastimpil?

Já. Neikvæð gildi tákna dagsetningar fyrir upphafstíma. Til dæmis samsvarar −86400 dagsetningunni 1969-12-31T00:00:00Z, nákvæmlega einum degi fyrir upphafstíma.

Tekur þetta tillit til hlaupasekúndna?

Nei, og það er í samræmi við POSIX-staðalinn. POSIX-tími gerir ráð fyrir að hver dagur sé nákvæmlega 86.400 sekúndur. Þær 27 hlaupasekúndur sem bætt hefur verið við síðan 1972 eru ekki sýndar sérstaklega, sem þýðir að UTC og Unix-tími geta munað allt að einni sekúndu við hlaupasekúndumörk.

Hvað er ársins 2038 vandamálið?

Kerfi sem geyma Unix-tíma sem 32-bita heiltölu munu fyllast þann 19. janúar 2038 kl. 03:14:07 UTC. Þá fer gildið yfir í stóra neikvæða tölu og sýnir dagsetningar árið 1901. Flest nútíma kerfi nota nú 64-bita tímastimpla, sem munu ekki fyllast í yfir 290 milljarða ára.

Skrifað af Jan Křenek Stofnandi og aðalhönnuður
Yfirfarið af Rýni á aðferðafræði DigitSum Staðfesting formúlu og gæðaeftirlit
Síðast uppfært Mar 10, 2026

Notaðu þetta sem áætlun og staðfestu mikilvægar ákvarðanir hjá fagaðila.

Inntök verða áfram í vafranum nema framtíðareiginleiki tilgreini annað sérstaklega.