Epoch-aikamuunnin

Muunna Unix-aikaleimat UTC-päivämääriksi tai muuta päivämäärä epoch-sekunneiksi.

Valitse, muunnetaanko aikaleima päivämääräksi vai päivämäärä aikaleimaksi.
Syötä Unix-aikaleima sekunteina.

Muunnettu arvo

2024-03-09T16:00:00.000Z

UTC-arvo2024-03-09T16:00:00.000Z
Unix-millisekunnit1 710 000 000 000
Viikonpäivälauantai

Kuinka tätä epoch-aikamuunninta käytetään

  1. Valitse muunnostila

    Valitse Muunnostila-kentästä joko Epoch päivämääräksi tai Päivämäärä epochiksi.

  2. Epoch päivämääräksi

    Syötä Unix-aikaleima sekunteina Epoch-aikaleima (sekuntia) -kenttään.

  3. Päivämäärä epochiksi

    Valitse päivämäärä Kalenteripäivämäärä-kentästä ja aseta sitten tunti (UTC), minuutti (UTC) ja sekunti (UTC) tarpeen mukaan.

  4. Lue tulos

    Laskin näyttää UTC-arvon, Unix-millisekunnit ja viikonpäivän.

Metodologia

Miten tämä epoch-aikamuunnin toimii

Tämä epoch-aikamuunnin muuntaa Unix-aikaleimat ja ihmisen luettavissa olevat UTC-päivämäärät toisikseen. Unix-aika — jota kutsutaan myös POSIX-ajaksi tai epoch-ajaksi — laskee sekunnit, jotka ovat kuluneet Unix-epochista, joka on määritelty keskiyöksi UTC-aikaa 1. tammikuuta 1970 (1970-01-01T00:00:00Z). Tämä kokonaislukuesitys on de facto -standardi aikaleimojen tallentamiseen ja siirtämiseen tietokannoissa, rajapinnoissa, lokitiedostoissa, JWT-tokeneissa ja lähes kaikissa nykyaikaisissa ohjelmointikielissä. Muunnin toimii molempiin suuntiin: numeerisen aikaleiman syöttäminen palauttaa vastaavan UTC-päivämäärän, viikonpäivän ja millisekunnit, kun taas kalenteripäivämäärän ja kellonajan syöttäminen palauttaa epoch-arvon sekunteina ja millisekunteina.

Kaava
Unix-aika = sekunnit, jotka ovat kuluneet alkaen 1970-01-01T00:00:00Z
epookki Vertailukohta: keskiyö UTC 1. tammikuuta 1970 (Unix-aikaleima 0)
Unix-aika (s) Kokonaissekuntien määrä epookista määritettyyn päivämäärään ja kellonaikaan
Unix-aika (ms) Unix-aika sekunteina kerrottuna 1 000:lla — käytössä JavaScript Datessa, Java System.currentTimeMillis() -metodissa ja monissa rajapinnoissa
UTC-päivämäärä Gregoriaanisen kalenterin päivämäärä ja 24 tunnin kellonaika, joka vastaa annettua aikaleimaa
viikonpäivä Muunnetusta UTC-päivämäärästä johdettu viikonpäivän nimi
Esimerkki

Unix-aikaleiman 1 700 000 000 muuntaminen päivämääräksi: aloita kohdasta 1970-01-01 00:00:00 UTC ja lisää 1 700 000 000 sekuntia. Tämä on 19 675 päivää, 17 tuntia, 46 minuuttia ja 40 sekuntia. Tuloksena saatu UTC-päivämäärä on 14.11.2023 klo 22:13:20 UTC, joka on tiistai. Vastaava millisekuntiarvo on 1 700 000 000 000. Vastaavasti syöttämällä 14. marraskuuta 2023 klo 22:13:20 UTC saadaan epookkiarvoksi tasan 1 700 000 000.

Aikaleima 0 muuntuu muotoon 1970-01-01 00:00:00 UTC (torstai). Millisekuntivastine on 0.

Aikaleima 1 704 000 000 muuntuu muotoon 2023-12-31 12:00:00 UTC (sunnuntai). Kyseisen päivämäärän ja ajan syöttäminen 'Päivämäärä epookiksi' -tilassa palauttaa arvon 1 704 000 000.

Oletukset
  • Kaikki laskelmat ovat UTC-ajassa. Paikallisen ajan muunnokset edellyttävät asianmukaisen aikavyöhykkeen siirtymän soveltamista muunnoksen jälkeen.
  • Karkunsekunteja ei lasketa. POSIX-standardin tavoin tämä muunnin käsittelee jokaista päivää tasan 86 400 sekuntina, mikä vastaa useimpien ohjelmointikielten ja käyttöjärjestelmien toimintatapaa.
  • Negatiiviset aikaleimat edustavat päivämääriä ennen epookkia (1. tammikuuta 1970). Esimerkiksi −86400 vastaa päivämäärää 31. joulukuuta 1969.
  • Millisekuntiaikaleimat tulee jakaa 1 000:lla ennen syöttämistä; muunnin hyväksyy syötteeksi sekunnit ja näyttää tuloksissa vastaavan millisekuntiarvon.
Huomautukset
  • JavaScriptin Date.now() ja Javan System.currentTimeMillis() palauttavat millisekunteja, eivät sekunteja – jaa arvo 1 000:lla ennen sen syöttämistä tähän tai käytä vertailuun millisekuntitulosta.
  • Vuoden 2038 ongelma koskee 32-bittisiä etumerkillisiä kokonaislukuaikaleimoja, jotka ylivuotavat 19. tammikuuta 2038 klo 03:14:07 UTC. Useimmat nykyaikaiset järjestelmät ovat siirtyneet 64-bittisiin aikaleimoihin.
  • Kun vianmäärityksessä tarkastellaan API-vastauksia tai lokitiedostoja, tarkkaile aikaleimoja, jotka poikkeavat tasan 3 600 tai 7 200 sekuntia – tämä viittaa yleensä siihen, että aikavyöhykkeen siirtymä on lisätty (tai jätetty pois) jossain vaiheessa prosessia.
  • Epookkiaika on aina monotonisesti kasvava (lukuun ottamatta karkunsekuntien säätöjä), mikä tekee siitä ihanteellisen tapahtumien lajitteluun, kestojen laskemiseen ja yksilöllisten aikaperusteisten tunnisteiden luomiseen.
Lähteet
  1. IEEE Std 1003.1 (POSIX) — määritelmä sekunneista epookin jälkeen
  2. Unix-epookin alkuperä — The Unix Heritage Society- ja Bell Labs -dokumentaatio
  3. RFC 3339 — Päivämäärä ja kellonaika internetissä: Aikaleimat

Mitä Unix-aikaleimat ovat?

Unix-aikaleima on sekuntien määrä, joka on kulunut keskiyöstä UTC-aikaa 1. tammikuuta 1970 – eli Unix-epookista. Tämä yksittäinen kokonaisluku on de facto -standardi ajan esittämiseen tietokannoissa, rajapinnoissa (API), lokitiedostoissa ja useimmissa ohjelmointikielissä. Koska se on aikavyöhykkeistä riippumaton ja monotonisesti kasvava, se yksinkertaistaa lajittelua, keston laskemista ja aikaperusteisia vertailuja. JavaScriptin Date.now() ja monet rajapinnat palauttavat millisekunteja (1 000 × sekuntia), joten jaa luku 1 000:lla ennen millisekuntiarvon syöttämistä tähän. Negatiiviset aikaleimat edustavat päivämääriä ennen vuotta 1970; esimerkiksi −86400 on tasan yksi päivä ennen epookkia.

Kehittäjien käyttötapaukset epookkiajalle

Kehittäjät käyttävät Unix-aikaleimoja tallentaessaan tapahtuma-aikoja tietokantoihin, serialisoidessaan päivämääriä JSON-rajapinnoissa, luodessaan aikaperusteisia välimuistiavaimia ja tutkiessaan lokimerkintöjä. Tietokantasarakkeet tallentavat aikaleimat usein kokonaislukuina tehokasta indeksointia ja välikyselyitä varten. Rajapintavastaukset palauttavat usein epookkisekunteja tai -millisekunteja aikavyöhyke-epäselvyyksien välttämiseksi. Vianetsinnässä lokista tai JWT-väitteestä saadun raa'an aikaleiman muuntaminen ihmisen luettavaan muotoon paljastaa nopeasti, onko arvo oikein vai vääristynyt aikavyöhykekertoimen vuoksi. Epookkiaikaa käytetään myös pyyntörajoituksiin, istuntojen vanhenemiseen ja lajiteltavien yksilöllisten tunnisteiden luomiseen hajautetuissa järjestelmissä.

Epookkiaikamuuntimen UKK

Mikä on Unix-epookki?

Unix-epookki on vertailukohta, josta Unix-aika mitataan: keskiyö UTC-aikaa 1. tammikuuta 1970 (1970-01-01T00:00:00Z). Aikaleima 0 vastaa juuri tätä hetkeä.

Miksi JavaScript-aikaleimassani on enemmän numeroita?

JavaScriptin Date.now() palauttaa millisekunnit epookista, ei sekunteja. Jaa luku 1 000:lla muuntaaksesi sen tämän työkalun käyttämään sekuntimuotoon tai vertaa sitä suoraan millisekuntitulokseen.

Voinko syöttää negatiivisen aikaleiman?

Kyllä. Negatiiviset arvot edustavat päivämääriä ennen epookkia. Esimerkiksi −86400 vastaa päivämäärää 1969-12-31T00:00:00Z eli tasan yhtä päivää ennen epookkia.

Huomioiko tämä karkunsekunnit?

Ei, ja tämä noudattaa POSIX-standardia. POSIX-aika olettaa jokaisen päivän olevan tasan 86 400 sekuntia. Vuoden 1972 jälkeen lisättyjä 27 karkunsekuntia ei esitetä erikseen, mikä tarkoittaa, että UTC- ja Unix-aika voivat poiketa toisistaan enintään sekunnin karkunsekuntien kohdalla.

Mikä on vuoden 2038 ongelma?

Järjestelmät, jotka tallentavat Unix-ajan 32-bittisenä etumerkillisenä kokonaislukuna, ylivuotavat 19. tammikuuta 2038 kello 03:14:07 UTC. Tällöin luku muuttuu suureksi negatiiviseksi luvuksi, mikä tuottaa päivämääriä vuodelta 1901. Useimmat nykyaikaiset alustat käyttävät nykyään 64-bittisiä aikaleimoja, jotka eivät ylivuoda yli 290 miljardiin vuoteen.

Kirjoittanut Jan Křenek Perustaja ja pääkehittäjä
Tarkistanut DigitSum-metodologian tarkistus Kaavojen tarkistus ja laadunvarmistus
Päivitetty viimeksi 10.3.2026

Käytä tätä arviona ja varmista tärkeät päätökset pätevän ammattilaisen kanssa.

Syötteet pysyvät selaimessa, ellei tuleva ominaisuus erikseen toisin ilmoita.