From Wikipedia, the free encyclopedia
Unix-aika tarkoittaa useissa käyttöjärjestelmissä (mm. Linux ja muut POSIX-yhteensopivat järjestelmät) käytettävää ajan tallennustapaa. Unix-aika on (yleensä etumerkillinen 32-bittinen) kokonaisluku, joka ilmaisee ajan sekunteina ajanhetkestä 1. tammikuuta 1970 kello 0.00.00 UTC (epookki, 1970-01-01T00:00:00Z).[1] Negatiiviset arvot ilmaisevat aikaa ennen epookkia.[2] Muutamissa käyttöjärjestelmissä time_t
aikaleima on etumerkitön eikä voi esittää aikaa ennen epookkia (mm. QNX).[2]
Unix-aika ei ole täysin ongelmaton ajantallennustapa, koska se ei ota huomioon karkaussekunteja, vaan joka päivä kellonaikaan lisätään tasan 86 400 sekuntia.[1]
Unix-aika muunnetaan gregoriaanisen kalenterin ajaksi Unixin c-kirjaston funktioilla ctime()
, localtime()
, asctime()
ja toisinpäin mktime()
[3] hyödyntäen zoneinfo-aikavyöhyketietokantaa.
Koska Unix-ajan tallentamiseen käytetään historiallisista syistä yleensä etumerkillistä 32-bittistä kokonaislukutietotyyppiä, tulevat tietotyypin rajat vastaan lopulta – tarkemmin sanoen 19. tammikuuta 2038, jolloin vuoden 1970 alusta tulee kuluneeksi 2 147 483 647 sekuntia ja laskuri pyörähtää ympäri −2 147 483 648 sekuntiin. Ongelman ratkaisemiseksi monissa järjestelmissä on siirrytty tai ainakin ollaan siirtymässä 64-bittiseen aikatietotyyppiin; esimerkiksi 64-bittisissä Linux-järjestelmissä ajan tallennukseen käytettävä time_t
-tietotyyppi on 64-bittinen, joka on lisätty myös 32-bittisille alustoille.[4]
64-bittinen aikaleima riittää 292 miljardiksi vuodeksi.[5]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.