Unix aeg reaalajas

1780005884

Sekundid alates Unix-epohist (00:00:00 UTC 1. jaanuaril 1970)

Mis on Unix aeg?

Unix aeg (tuntud ka kui Epohiaeg, POSIX-aeg või Unix-timestamp) on süsteem aja kirjeldamiseks. See näitab sekundite arvu alates Unix-epohist, mis on defineeritud kui 00:00:00 UTC neljapäeval, 1. jaanuaril 1970. Seda kasutatakse laialdaselt Unix-laadsetes operatsioonisüsteemides ja paljudes teistes arvutussüsteemides.

Unix aja peamine eelis on selle lihtsus. See esindab aega ühe, universaalselt mõistetava täisarvuna, mis pidevalt suureneb. See muudab selle uskumatult lihtsaks salvestada, võrrelda ja teha arvutusi ajatemplitega ilma mureta ajavööndite, suveaja või erinevate kalendrisüsteemide pärast. Näiteks kahe sündmuse vaheaja leidmiseks lahutad lihtsalt nende Unix-timestampid.

Kuigi see toornumber on arvutite jaoks ideaalne, ei ole see eriti sõbralik inimestele. Selle ületamiseks kasutavad arendajad ja tehnoloogiaentusiastid tööriista nimega epohikonverter. Seda saab kasutada igale ajatempli väärtusele kiiresti inimsõbralikku kuupäeva teisendamiseks või vastupidi, leida konkreetse kuupäeva timestampi.

Aasta 2038 Probleem

Tuntud probleem Unix-aja puhul on "Aasta 2038 Probleem". See on sarnane Y2K probleemile. Paljud varased arvutisüsteemid olid mõeldud salvestama Unix-timestampi kui 32-bitist signed integer. Signed 32-bit integer võib esitada väärtusi vahemikus -2 147 483 648 kuni 2 147 483 647.

Maksimaalne väärtus, 2 147 483 647, saavutatakse 03:14:07 UTC 19. jaanuaril 2038. Järgmise sekundi jooksul ületab täisarv oma piiri ja pöörab ümber kõige negatiivsemale väärtusele, mida süsteemid tõlgendavad kui kuupäeva 1901. aastal. See võib põhjustada laialdasi tõrkeid vanades tarkvarades, mis kasutavad 32-bitist ajaesitamist.

Lahendus on kasutada 64-bitist täisarvu timestampi salvestamiseks. 64-bitine täisarv on nii suur, et see ei ületa piiri umbes 292 miljardi aasta jooksul, mis efektiivselt lahendab probleemi tulevikus. Enamik kaasaegseid operatsioonisüsteeme ja tarkvara on juba üle läinud 64-bitisele ajaesitamisele.

Liikumise sekundid ja Unix aeg

Üks oluline tehniline detail on see, et Unix aeg ei arvesta liikumise sekunditega. Kuigi UTC (Koordineeritud universaalne aeg) lisab aeg-ajalt liikumise sekundi, et hoida meie kellad Maa pöörlemisega kooskõlas, siis Unix-timestamp lihtsalt ignoreerib neid ja jätkab lineaarset arvestust.

See tähendab, et Unix aeg ei ole tõeline UTC esitus. Selle asemel kirjeldatakse seda täpsemalt kui lineaarset sekundite arvu. Kui liikumise sekund toimub, kordab Unix aeg mõnikord sekundit, et säilitada sünkronisatsioon. See nüanss on kriitiline teadus- ja kõrgtäpsuse rakendustes, kuid enamikus üldotstarbelistes arvutustes on vahe ebaoluline.

Tavalised Unix aja kasutusalad

  • Faili ajatembrid: Operatsioonisüsteemid kasutavad Unix-timestampi, et jälgida, millal failid on loodud, muudetud või viimati avatud.
  • Andmebaasid: See on tavaline ja tõhus viis salvestada kuupäeva ja kellaaja teavet kirjetel (nt created_at, updated_at).
  • API-d ja veebiarendus: Kasutatakse sessiooni aegumise, vahemälu kontrolli ja API-küsimuste logimise jaoks.
  • Programmeerimine: Peaaegu iga programmeerimiskeel pakub funktsioone, et saada praegune Unix-timestamp ja teisendada see inimsõbralikeks kuupäevavorminguteks.

Aeg on selles neis linnades:

Tallinn · Tartu · Narva · Pärnu · Kohtla-Järve · London · New York · Tokyo · Pariis · Shanghai · Mumbai

Aeg praegu riikides:

🇪🇪 Eesti | 🇺🇸 USA | 🇨🇳 Hiina | 🇮🇳 India | 🇬🇧 Ühendkuningriik | 🇩🇪 Saksamaa | 🇯🇵 Jaapan | 🇫🇷 Prantsusmaa | 🇨🇦 Kanada | 🇦🇺 Austraalia | 🇧🇷 Brasiilia |

Aeg praegu asukohas ajavööndid:

UTC | GMT | CET | PST | MST | CST | EST | EET | IST | Hiina (CST) | JST | AEST | SAST | MSK | NZST |

Tasuta vidinad veebisaitidele:

Tasuta analoogkella vidin | Tasuta digitaalkell vidin | Tasuta tekstikell vidin | Tasuta sõnakuju vidin