Sisällysluettelo

U1G tulee, oletko valmis?

U1G eli ”Unixtime 1 Giga” tapahtuu syyskuussa 2001. Oletko valmis?

Unix-koneet mittaavat aikaa ns. unixtimella, numerolla joka kertoo kuinka monta todellista sekuntia on kulunut sitten ajankohdan 1.1.1970 klo 00:00.

Syyskuu 2001: U1G

Unixtime pyörähtää arvosta 999 999 999 arvoon 1 000 000 000 Syyskuussa 2001, tarkkaan ottaen 9.9.2001 kello 04:46:40 Suomen aikaa (2001-09-09 01:46:40 UTC).

Tämän ei pitäisi vaikuttaa mihinkään, tosin joitakin ”hauskoja” efektejä lienee lupa odottaa.

Tammikuu 2038: Wraparound

Ehkä merkittävin unixtime-tapahtuma on vuonna 2038, tarkemmin 19.1.2038 05:14:08 Suomen aikaa (2038-01-19 03:14:08 UTC) kun 32-bittisenä etumerkillisenä numerona käsitelty unixtime pyörähtää ympäri arvosta 2 147 483 647 (2^31-1 eli 0x7FFFFFFF) arvoon -2 147 483 648 (2^31 eli 0x80000000).

Useimmat Unix-koneet käsittelevät unixtime:ä kuitenkin oikein positiivisena kokonaislukuna jolloin kaikki toimii ilman ongelmia.

Eräässä yleisessä vuonna 2000 julkaistussa Unix-versioissa tämä heivauttaa kuitenkin kellonajan näyttämään 13.12.1901 22:25:44 Suomen aikaa (1901-12-13 20:45:52 UTC), Hmmm…

Disklaimeri

Tarkka paikallinen kellonaika saattaa riippua siitä, montako aikojen kuluessa lisättyä hyppysekuntia tietyn Unix-koneen C-kirjastot osaavat käsitellä. Hyppysekunteja (leap seconds) lisätään muutaman vuoden välein joulukuun lopussa eli 31.12.XXXX 23:59:60.

Kaukaisessa tulevaisuudessa olevien tapahtuman tarkkaa paikallista aikaa ei itse asiassa voi vielä ihan tarkkaan tietääkään, koska tulevaisuuden hyppysekunteja ei ole määritelty kuin pariksi vuodeksi eteenpäin.

Samoin vaikkapa POSIX-standardointikomitea saattaa jälleen kerran muuttaa unixtime:n tarkkaa määritelmää joskus tulevaisuudessa. Alussa mainittu unixtime:n määritelmä on itse asiassa alkuperäinen, perinteinen versio.

Standardiajan määritelmääkin on muutettu silloin tällöin. Nykyään yleisin lienee UTC kun ennen käytettiin GMT:tä.