SIMETRIUM .COM
raja 2 147 483 647 · 19.1.2038
36 kieltä
Symbol plate INT32
unix 2147483647 MAX
unix pienellä, epoch time on sama asiaei pidä sekoittaa TAI:hin tai MJD:hen
Yksikkösivu sekuntien laskenta · ISO 8601 -merkintätapa lehti 1/1 · päiv. 2026-09

Unix-aika ja ISO 8601 -merkintätapa

SI:n ulkopuolinen yksikkö · suure: ajanhetki kokonaisina sekunteina vuodesta 1970

Yhdeksäntenätoista tammikuuta 2038 kello kolme neljätoista ja seitsemän sekuntia maailmanaikaa kolmenkymmenenkahden bitin levyinen sekuntilaskuri saavuttaa arvon 2 147 483 647 — suurimman luvun, jonka se kykenee sisällään pitämään. Seuraava tikitys nostaa ylimmän bitin, ja sama binäärisana luetaan tästedes negatiivisena: kellot, jotka pitävät aikaa juuri tällä laskennalla, päätyvät ei vuoteen 2038 vaan joulukuuhun 1901. Kaukaisen tulevaisuuden kummallisuus tämä ei ole — teollisuusohjain tai vesimittari palvelee kauemmin kuin ne kaksitoista vuotta, jotka ovat jäljellä.

Laskenta on rakennettu äärimmäisen yksinkertaisesti: sekunnit juoksevat peräkkäin ensimmäisen tammikuuta 1970 keskiyöstä, ja vuorokausi sisältää siinä aina tasan 86 400 sekuntia. Juuri yksinkertaisuus on molempien erikoisuuksien lähde. Yhtäältä luvusta seuraa kalenteripäivä silmänräpäyksessä ja päinvastoin, joten jokainen tapahtumaloki, jokainen tietokanta ja jokainen tiedostojärjestelmä pitää aikaa sillä. Toisaalta karkaussekuntia ei sellaisessa laskennassa voi lainkaan ilmaista, mikä tarkoittaa, että se nimestään huolimatta ei numeroi sekunteja vaan vuorokausia murto-osineen, ja on todellisuudessa UTC-merkinnän lineaarinen funktio eikä kuluneen ajan laskuri.

Merkintä unix time · epoch time
Laskennan yksikkö SI-sekunti
Laskennan alku 1970-01-01T00:00:00Z
Sekunteja laskennan vuorokaudessa tasan 86 400 s, ilman karkaussekunteja
32 bitin raja 2038-01-19T03:14:07Z
Käännöksiä valmiina / 36
01 · Määritelmä

Unix-aika on sekuntien määrä, joka on kulunut ensimmäisen tammikuuta 1970 keskiyöstä koordinoitua maailmanaikaa, sillä oletuksella, että jokainen vuorokausi sisältää tasan 86 400 sekuntia. ISO 8601 -merkintätapa esittää saman toisin: kalenteripäivällä, kellonajalla ja ilmoituksella poikkeamasta nollameridiaanista, ja kentät juoksevat tiukasti karkeasta hienoon.

Varaus 86 400 sekunnista ei ole pikkuseikka vaan määritelmän olennaisin kohta. Karkaussekuntia, jonka Maan pyörähdyspalvelu julistaa, laskenta ei voi ottaa vastaan, ja siksi järjestelmä lisäyshetkellä joko toistaa yhden ja saman arvon kahdesti tai siirtää kelloa taaksepäin. Tästä seuraa tärkeä asia: kahden unix-luvun erotus ei ole se sekuntien määrä, joka kahden tapahtuman välillä todella kului, jos niiden väliin osui karkaussekunti — poikkeama atomiaika-asteikosta on jo kasvanut kahteenkymmeneenseitsemään sekuntiin.

Raja sen sijaan ei riipu määritelmästä vaan tallennuksen leveydestä. Kolmekymmentäkaksi bittiä etumerkin kanssa antaa suurimmaksi arvoksi 2 147 483 647, joka osuu yhdeksännelletoista tammikuuta 2038; seuraava lisäys asettaa ylimmän bitin ykköseksi ja tekee luvusta negatiivisen, jolloin kello sinkoutuu kolmanteentoista joulukuuta 1901. Kuusikymmentäneljä bittiä työntää rajan kahdensadanyhdeksänkymmenenkahden miljardin vuoden päähän, mutta kokonaiset nanosekunnit samoissa kuudessakymmenessäneljässä bitissä loppuvat jo vuonna 2262.

Standardin mukainen merkintä ratkaisee toisen tehtävän — vaihdon eikä tallennuksen — ja siksi siinä painavat asiat, joita luvulla ei lainkaan ole: aikavyöhyke, erotin päivän ja ajan välillä sekä sääntö, että yhtä pitkillä merkkijonoilla aakkosjärjestys osuu yhteen aikajärjestyksen kanssa. Juuri tämä viimeinen ominaisuus on tehnyt muodosta lajittelun perustan tiedostonimissä ja lokeissa.

Muodollisesti t — Unix-aika, N — etumerkillisen kokonaisluvun leveys, JD — juliaaninen päivä
Laskenta epookista
t = 86 400 · (JD − 2 440 587,5)
Sananleveyden raja
t(max) = 2^(N−1) − 1
Ylivuoto
t' = ((t + 2^31) mod 2^32) − 2^31
Vuorokaudet ja jäännös
D = ⌊t / 86 400⌋, r = t mod 86 400
T
ulottuvuus: sekuntien laskenta mittaa aikaa
86 400
sekuntia laskennan vuorokaudessa — aina, poikkeuksetta
2³¹
raja, jonka takana etumerkillinen kokonaisluku murtuu
Vuorovaikutteinen · kolmekymmentäkaksi bittiä pettämiseen

Vie aikaa liukusäätimellä ja katso, miten rekisteri täyttyy: bitit syttyvät oikealta vasemmalle, ja niin kauan kuin ylin, etumerkkibitti, pysyy pimeänä, luku on positiivinen ja päivä kasvaa. Heti kun laskuri astuu arvon 2 147 483 647 ohi, ylin bitti leimahtaa punaisena, koko luvusta tulee negatiivinen ja kello hyppää vuoteen 1901.

bitti 31 — etumerkkibitti 0
ajanhetki, vuosi
sekuntien laskenta
mitä 32 bitissä on
miten järjestelmä sen lukee

Suora viiva ja se, joka kompastelee

Vihreä suora on atomiaika-asteikko, jolla jokainen sekunti on todella sekunti. Punainen porrasviiva on Unix-aika, joka jokaisen lisäyksen kohdalla antaa yhden ja saman aikaleiman kahdesti, minkä vuoksi viiva pysähtyy paikalleen. Poikkeama on jo kaksikymmentäseitsemän sekuntia ja kasvaa, ja siksi laskenta kelpaa kalenteripäivään mutta ei kestojen mittaamiseen fysiikassa.

02 · Muunnos

Syötä aikaleima tai päivämäärä

Kaikkien laskennan kerrannaisten välillä — sekuntien, millisekuntien, mikro- ja nanosekuntien — muunnokset ovat tarkkoja, koska ne eroavat vain kertoimella. Likimääräinen on yksi ainoa rivi: muunnos atomiaika-asteikkoon vaatii tietoa siitä, kuinka monta karkaussekuntia annettuun hetkeen mennessä on kertynyt.

Standardin mukaisen merkkijonon jäsentämisen lehti tekee laajennetussa merkinnässä Z-kirjaimen kanssa; perusmuoto ilman erottimia on hienosäädöissä.

Vuoden 2038 ongelma ei ole standardissa vaan laitteistossa ja vanhassa koodissa: kolmenkymmenenkahden bitin aikaleimat istuvat mittareiden laiteohjelmistoissa, teollisuusohjaimissa, tiedostojärjestelmien muodoissa ja tietokannoissa, joissa kenttä on jo julistettu neljäksi tavuksi. Tyypin vaihtaminen lähdekoodissa on kyllin helppoa; miljoonien asennettujen laitteiden läpikäynti jäljellä olevassa kahdessatoista vuodessa on samaa lajia oleva tehtävä kuin se, joka oli edessä ennen vuotta 2000.

Muunnostaulukko
ArvoHuomautus
Merkintä standardin mukaan
32 bitissä
Epookki

03 · Suuruusluokat
logaritminen asteikko: sekunnista kuudenkymmenenneljän bitin rajaan

aikaväli sekunteina
Vaalea kaistale on se, minkä etumerkillinen kolmenkymmenenkahden bitin luku vetää: yhdestä sekunnista rajaan 2 147 483 647, joka on oikealla merkitty punaisella. Kaikki sen tuolla puolen vaatii kuusikymmentäneljä bittiä, ja siellä varasta tulee ivallisen suuri — kaksisataayhdeksänkymmentäkaksi miljardia vuotta, siis kaksikymmentä kertaa maailmankaikkeuden ikä.
04 · Mittalaitteet

Millä tapahtumaan lyödään leima

piirilevyn kello · NTP · loki · koepenkki
Reaaliaikakello

Erillinen siru pariston kanssa, joka pitää laskentaa laitteen ollessa sammuksissa. Se tallentaa tavallisesti ei unix-leimaa vaan kalenterikentät erikseen, ja sen vuosikentän leveys on oma, joten vanhoilla piirilevyillä keskustelu vuodesta 2038 alkaa kysymyksestä, mihin vuoteen asti siru itse laskee.

Verkkotahdistus

NTP-yhteyskäytäntö tuo koneen kellon yhteiseen aikaan muutaman millisekunnin tarkkuudella, ja se myös varoittaa lisäyksestä omalla lipulla vuorokautta aiemmin. Oma rajansa sillä on myös, ja se tulee aiemmin: laskenta juoksee vuodesta 1900 etumerkittömissä kolmessakymmenessäkahdessa bitissä ja vuotaa yli helmikuussa 2036.

Tapahtumaloki

Lokiin aikaleima kirjoitetaan joko lukuna tai standardin mukaisena merkkijonona, ja jälkimmäinen on parempi täsmälleen yhdestä syystä: yhtä pitkillä merkkijonoilla aakkosjärjestys osuu yhteen aikajärjestyksen kanssa, joten merkinnät lajittuvat ilman päivämäärän jäsentämistä. Juuri siksi muoto on levinnyt kauas tietotekniikan ulkopuolelle.

Penkki, jonka kello on siirretty eteen

Laitteen valmiuden vuoteen 2038 voi koetella yhdellä ainoalla tavalla — siirtämällä sen kellon kohtalokkaan rajan yli ja katsomalla, mitä lokeista, varmenteista ja aikavälilaskennasta tulee. Näin on jo löydetty vikoja laskutuksesta, kulunvalvonnasta ja avainten voimassaoloajoista, joissa tulevaisuuden päivä muodostetaan yhteenlaskulla ja se vuotaa yli kauan ennen itse rajaa.

05 · Kirjoitussäännöt

Karkeasta hienoon, ja aina aikavyöhykkeen kanssa

Standardi vaatii kenttien laskevaa järjestystä, vuoden neljää numeroa, yhdysmerkkiä päivän erottimena ja T-kirjainta ennen aikaa; aikavyöhyke ilmoitetaan joko Z-kirjaimella nollameridiaanille tai plus-miinus tunteina ja minuutteina. Unix-leima kirjoitetaan kokonaislukuna ilman numeroryhmitystä, ja kerrannainen on aina täsmennettävä, koska tuhannen kerroin erottaa sekunnit millisekunneista ja ne on luvun suuruuden perusteella helppo sekoittaa.

Oikein
2026-09-02T14:30:00Z
2026-09-02T17:30:00+03:00
2026-W36-3 · 2026-245
1788359400 s · 1788359400000 ms
Väärin
02.09.2026 14:30
2026-09-02 14:30:00
2026-9-2T14:30:00Z
unix 1788359400 = 1788359400 s TAI

Ensimmäinen merkintä luetaan eri maissa eri tavoin ja on siksi tiedonvaihdossa kelvoton. Toinen jättää pois sekä erottimen että aikavyöhykkeen, joten hetki jää määrittelemättömäksi vuorokauden verran kumpaankin suuntaan. Kolmas menettää alkunollat, minkä vuoksi merkkijonot lakkaavat lajittumasta aakkosittain — ja juuri siitä ominaisuudesta muotoa arvostetaan. Neljäs rinnastaa unix-laskennan atomiaika-asteikkoon, vaikka niiden välissä on kaksikymmentäseitsemän sekuntia kertyneitä karkaussekunteja.

06 · Naapuriyksiköt

Vieressä ovat kaikki laskennat, jotka on rakennettu saman periaatteen mukaan mutta toisesta alusta: NTP-aika vuodesta 1900, juliaaninen päivä vuoden 4713 ennen ajanlaskun alkua keskipäivästä, satelliittijärjestelmän asteikko tammikuusta 1980. Ne eroavat vain epookilta ja yksiköltä, ja siksi ne muunnetaan vähentämällä vakio.

unix
vuodesta 1970
etumerkilliset sekunnit
NTP
vuodesta 1900
sen raja osuu jo vuoteen 2036
TAI-64
atomisekunnit
karkaussekunnit laskettu rehellisesti
Juliaaninen päivämäärä
JD = t / 86 400 + 2 440 587,5
NTP-aika
t(NTP) = t + 2 208 988 800
Atomiaika-asteikko
TAI = t + 10 + karkaussekuntien määrä vuodesta 1972

Simetriumin korteista vieressä ovat juliaaninen päivä, josta muunnosvakio on otettu, asteikot UTC, TAI ja UT1, jotka selittävät kadonneet karkaussekunnit, sekunti laskennan yksikkönä, ja bitti, jonka leveys rajan määrää.

07 · Historiallinen osa

Epookki, joka valittiin bittien puutteesta

arkisto · 1971 → 2038
1971 · Murray Hill
Tikitysten laskenta, joka riitti runsaaksi kahdeksi vuodeksi

Ensimmäisessä unix-käsikirjassa aikaa laskettiin sekunnin kuudeskymmenesosina vuoden 1971 alusta, ja kolmessakymmenessäkahdessa bitissä sellainen laskenta veti vain runsaat kaksi vuotta. Ne loppuivat niin nopeasti, että epookkia olisi pitänyt siirtää järjestelmän jokaisen julkaisun yhteydessä, ja sekunnin murto-osista luovuttiin kokonaisten hyväksi.

60 tikitystä sekunnissa
1973 · nollakohdan valinta
Tasavuosi tasapäivän sijaan

Siirtymällä kokonaisiin sekunteihin kehittäjät saivat sadankolmenkymmenenkuuden vuoden varaston ja saattoivat valita alun mukavuuden eikä pakon mukaan. Otettiin ensimmäinen tammikuuta 1970 — lähin tasapäivä menneisyydessä, johon konemerkinnät eivät kuitenkaan ylettyneet — eikä sitä ole sen jälkeen kertaakaan muutettu, vaikka järjestelmä on kirjoitettu perusteista uudelleen useammin kuin kerran.

epoch = 1970-01-01
1988 · Geneve
Standardi päivämäärän merkintään

Kansainvälinen standardisoimisjärjestö kokosi hajaantuneet kansalliset muodot yhdeksi ja pani sen perustaksi yksinkertaisen säännön: kentät juoksevat karkeasta hienoon, kaikki alkunollineen. Sivuvaikutus osoittautui tarkoitusta tärkeämmäksi — sellaiset merkkijonot lajittuvat kuin luvut, ja muoto levisi tiedostonimiin, lokeihin ja vaihtokäytäntöihin.

ISO 8601, nykyään -1 ja -2
2038 · 19. tammikuuta
03:14:07 ja seuraava sekunti

Työpöytä- ja palvelinjärjestelmät siirtyivät kuuteenkymmeneenneljään bittiin kauan sitten, ja siellä raja on työnnetty kaiken järkevän näköpiirin taakse. Vaara on jäänyt muualle: kahdenkymmenen vuoden käyttöikäisten laitteiden laiteohjelmistoihin, tiedostomuotoihin, joissa kenttä on julistettu neljäksi tavuksi, ja tulevien määräaikojen laskentaan, joka vuotaa yli jo tänään heti kun nykyiseen päivään lisätään viisitoista vuotta.

→ 1901-12-13T20:45:52Z
Neljän tavun kenttä: leveys julistetaan muodossa kerran ja elää minkä tahansa koodin yli
Metrologinen huomautus

Laskenta, joka nimestään huolimatta ei laske sekunteja

Unix-ajan määritelmä kuulostaa sekuntien laskennalta, mutta vaatimus tasaisista 86 400 sekunnista vuorokaudessa tekee siitä jotakin muuta: UTC-merkinnän lineaarisen funktion eikä kuluneen ajan mitan. Joka kerta kun Maan pyörähdyspalvelu julistaa lisäyksen, laskennan on toistettava yksi ja sama arvo kahdesti tai hypättävä taaksepäin, ja kahden leiman erotus menettää juuri sen sekunnin. Puolessa vuosisadassa tällaisia menetyksiä on kertynyt kaksikymmentäseitsemän, ja siksi tehtävissä, joissa tarvitaan todellinen kesto, otetaan atomiaika-asteikko eikä tätä.

Toinen erikoisuus ei ole lainkaan määritelmässä vaan tallennustavassa, ja se tekee siitä luettelomme ainoan rajan, jota ei ole asettanut luonto eikä sopimus vaan konesanan leveys. Juliaaninen päivä ei lopu koskaan, koska se on luku; Unix-aika loppuu yhdeksäntenätoista tammikuuta 2038, koska se on neljän tavun kenttä. Suureen ja sen esityksen ero askarruttaa metrologeja tavallisesti vähän, ja täällä juuri se ratkaisee kaiken.

Ylin bitti syttyy — ja koko päivämäärä muuttuu negatiiviseksi luvuksi
Luettelo · mittayksiköt

Kortti jokaiselle suureelle

Seitsemän SI-perusyksikköä, kaksikymmentäkaksi johdettua omine nimineen ja järjestelmän ulkopuolisia suureita, joita ilman ei toimisi tekniikka eikä kalenteri.

7
perusyksikköä
22
johdannaista
36
kieltä

Aika, asteikot ja koneellinen laskenta

avattu tietolehti on korostettu

SI-perusyksiköt

sekunti on korostettu — tämän laskennan yksikkö

Epookit ja rajat

mistä lasketaan ja kuinka pitkälle
08 · Sinun kielesi
jokainen linkki vie oikealle kielisivulle

Lue omalla kielelläsi

käännetty ja oikoluettu raakakäännös jonossa