Tärkeimmät kohdat
- 01Unix-aikaleima laskee sekunnit, jotka ovat kuluneet 00:00:00 UTC:sta 1. tammikuuta 1970, jota kutsutaan epochiksi.
- 0210-numeroinen luku on yleensä sekunteja; 13-numeroinen luku on yleensä millisekunteja — jaa 1000:lla muuntaaksesi.
- 03Unix-aika on aina UTC:ta, joten sama aikaleima näyttää eri kellonajan eri aikavyöhykkeillä.
Määritelmä yhteen lauseeseen
Unix-aikaleima on sekuntien määrä, joka on kulunut 00:00:00 koordinoidusta yleisesta ajasta (UTC) 1. tammikuuta 1970. Tämä alkava hetki on nimeltään Unix epoch, ja jokainen aikaleima mitataan siitä eteenpäin. Kun luet tämän, nykyinen arvo on jossain 1,7 miljardin yläpuolella.
Syy, miksi tietokoneet sopivat yhdestä mielivaltaisesta päivämäärästä, on tehokkuus. Yksi kokonaisluku on paljon helpompi tallentaa, verrata ja tehdä matematiikkaa kuin merkkijono kuten "24. kesäkuuta 2026, 15:14 Keski-Euroopan kesäajassa". Tapahtumien lajittelu, kuinka kauan jotain kesti, tai tarkistaminen, tapahtuiko yksi asia ennen toista, pelkistyy kahden kokonaisluvun vertailuun.
Koska laskuri on ankkuroitu UTC:hen, Unix-aikaleimalla ei ole aikavyöhykettä sisällä. Sama luku, 1750000000, on yksi hetki ajassa kaikkialla Maapallolla — se näyttää vain eri seinäkellonajalta Tokiossa kuin New Yorkissa. Aikavyöhykkeet sovelletaan vain, kun luku muutetaan takaisin ihmisen luettavaksi päivämääräksi.
Sekunnit vs. millisekunnit: kuinka erottaa ne
Klassinen Unix-aikaleima mitataan sekunteina, mutta paljon modernia ohjelmistoa — erityisesti JavaScript — mittaa millisekuntteina, mikä on 1000 kertaa suurempi. Näiden kahden sekoittaminen on yksittäin yleisin aikaleima-bugi, ja se tuottaa päivämääriä, jotka ovat joko vuonna 1970 tai noin 50 000 vuotta tulevaisuudessa.
Nopein tapa erottaa ne on numeromäärä. Sekuntien aikaleima mille tahansa viimeaikaiselle päivämäärälle on 10 numeroa (1750000000). Saman hetken millisekuntiversio on 13 numeroa (1750000000000). Jos arvo näyttää 1000 kertaa liian suuri, se on lähes varmasti millisekuntteina — jaa 1000:lla saadaksesi sekunnit. Jos kirjasto odottaa millisekuntteina ja annat sekunnit, kerro 1000:lla.
Muutamat järjestelmät menevät vielä tarkemmille: mikrosekunnit (16 numeroa) ja nanosekunnit (19 numeroa) näkyvät korkean tarkkuuden loggauksessa ja tietokannoissa. Sääntö on sama — jokainen vaihe on toinen tekijä 1000. Kun epäröit, liitä luku muuntimeen ja katso, onko tuloksena oleva päivämäärä lähellä tänään.
Kuinka muuntaa Unix-aikaleima päivämääräksi
Sinun ei tarvitse tehdä matematiikkaa käsin. Liitä luku ja lue päivämäärä omassa aikavyöhykkeessäsi ja UTC:ssä.
- 01
Avaa Unix-aikamuunnin
Mene Handytoolin Unix-aikamuuntimeen. Kaikki toimii selaimessasi, joten mitään ei lähetetä palvelimelle.
- 02
Liitä luku
Pudota aikaleima sisään. Työkalu tunnistaa automaattisesti, onko se sekunteja vai millisekuntteina pituuden perusteella, joten sinun ei yleensä tarvitse määrittää.
- 03
Lue ihmisen päivämäärä
Näe päivämäärä ja aika sekä UTC:ssä että paikallisessa aikavyöhykkeessäsi, jotta voit varmistaa lukevan oikean hetken.
- 04
Mene toiseen suuntaan
Anna kalenteripäivämäärä ja aika saadaksesi vastaavan Unix-aikaieiman, joka voidaan tallentaa tietokantaan, API-kutsuun tai ajoitettuun työhön.
Miksi 1970 ja muita omituisuuksia
Epoch valittiin 1970-luvun alussa Bell Labsin Unixia rakentavien insinöörien toimesta. Sen täytyi olla tuore, pyöreä, kätevä päivämäärä, ja vuoden 1970 alku sopi — se oli tarpeeksi lähellä, jotta laskuri ei välittömästi tarvitsisi valtavia lukuja, ja tarpeeksi kaukana kattamaan tiedoston ja prosessien ajat, joista he huolehtivat. Negatiiviset aikaleima edustavat hetkiä ennen 1970, joten järjestelmä käsittelee historiallisia päivämääriä myös.
Yksi hienovaraisuus: Unix-aika jättää huomiotta liukuvat sekunnit. Todellinen UTC toisinaan lisää ylimääräisen sekunnin pysyäkseen Maan hieman epäsäännöllisen pyörimisen kanssa linjassa, mutta Unix-aika teeskentelee, että jokaisella päivällä on tarkalleen 86 400 sekuntia. Tämä pitää aritmetiikan yksinkertaisena kustannuksella siitä, että olemme murto-osan minuutin verran pois tiukasta tähtitieteellisestä ajasta — kompromissi, jonka lähes kaikki ovat iloisia tekemään.
Kun sinun on linjattava aikaleima Discord-tapahtumaan, cron-aikatauluun tai lähtölaskentaan, se auttaa pariksi muuntimen kanssa aika-alueen työkalulla, jotta näet saman hetken eri alueilla, joissa yleisösi asuu.
Unix-aikaleiman UKK
Onko Unix-aikaleima sekunteina vai millisekuntteina?
Se riippuu järjestelmästä. Perinteinen Unix-aika on sekunteja (10-numeroinen luku nykyisille päivämäärille); JavaScript ja monet web-sovellusliittymät käyttävät millisekuntteina (13 numeroa). Jaa 1000:lla siirtääksesi millisekunnista sekunteihin tai kerro 1000:lla päinvastoin.
Sisältyykö Unix-aikaleimaan aikavyöhyke?
Ei. Unix-aika lasketaan aina UTC:ssä eikä siinä ole vyöhykettä. Vyöhyke sovelletaan vain, kun muutat luvun luettavaksi päivämääräksi, minkä vuoksi sama aikaleima näyttää eri kellonajan ympäri maailmaa.
Mikä on nykyinen Unix-aikaleima?
Se muuttuu joka sekunti. Kesäkuun 2026 puoliväliin mennessä se on noin 1,75 miljardia. Avaa muunnin nähdäksesi reaaliaikaisen arvon ja muuntaaksesi minkä tahansa tietyn päivämäärän aikaieimaksi.
Mikä on epoch-aika?
"Epoch-aika" on toinen nimi Unix-ajalle. Epoch on kiinteä origo — 1. tammikuuta 1970 00:00:00 UTC — ja epoch-aika on siitä laskettujen sekuntien määrä.
Voiko Unix-aikaleima olla negatiivinen?
Kyllä. Päivämäärät ennen 1. tammikuuta 1970 esitetään negatiivisina numeroina, jotka laskevat sekunteja taaksepäin epochista.