Live Unix-aikaleima (Nykyinen Unix-aika)

1784746031

Sekuntia Unix-epookista (00:00:00 UTC 1. tammikuuta 1970)

Unix-aikaleiman muunnin

Aikaleima päivämääräksi

Sekunnit tai millisekunnit tunnistetaan automaattisesti.

Päivämäärä aikaleimaksi

Valitse päivämäärä ja aika muuntaaksesi sen Unix-aikaleimaksi.

Unix-aikamuodot

Sama tämänhetkinen ajanhetki ilmaistuna useissa yleisissä muodoissa, päivitettynä reaaliajassa:

Muoto Nykyinen arvo
Unix-aikaleima (sekunteina)
Unix-aikaleima (millisekunteina)
ISO 8601 (UTC)
RFC 2822 (UTC)

Mikä on Unix-aika?

Unix-aika (tunnetaan myös nimellä Epoch-aika, POSIX-aika tai Unix-timestamp) on järjestelmä ajan kuvaamiseen. Se on sekuntien määrä, jotka ovat kuluneet Unix-epookista, joka määritellään olevan 00:00:00 UTC torstaina 1. tammikuuta 1970. Sitä käytetään laajasti Unix-tyyppisissä käyttöjärjestelmissä ja monissa muissa tietojärjestelmissä.

Unix-ajan suurin etu on sen yksinkertaisuus. Se esittää ajan yhtenä, kaikkien ymmärtämänä kokonaislukuna, joka kasvaa jatkuvasti. Tämä tekee siitä erittäin helppoa tallentaa, vertailla ja tehdä laskelmia aikaleimoilla ilman huolta aikavyöhykkeistä, kesäajasta tai eri kalenterijärjestelmistä. Esimerkiksi kahden tapahtuman välinen aika voidaan löytää yksinkertaisesti vähentämällä niiden Unix-aikaleimat.

Vaikka tämä raakadata on täydellinen tietokoneille, se ei ole kovin käyttäjäystävällinen ihmisille. Tämän kuilun ylittämiseksi kehittäjät ja teknologiaharrastajat käyttävät työkalua nimeltä epoch-muunnin. Voit käyttää sitä välittömästi muuntaaksesi minkä tahansa aikaleiman ihmisluettavaan päivämäärään tai päinvastoin löytääksesi tietyn päivämäärän aikaleiman.

Vuoden 2038 ongelma

Tunnettu ongelma liittyen Unix-aikaan on "Vuoden 2038 ongelma". Se on samankaltainen kuin Y2K-ongelma. Monet varhaiset tietokonejärjestelmät oli suunniteltu tallentamaan Unix-aikaleima 32-bittisenä allekirjoitettuna kokonaislukuna. Allekirjoitettu 32-bittinen kokonaisluku voi edustaa arvoja -2 147 483 648:sta 2 147 483 647:ään.

Suurin arvo, 2 147 483 647, saavutetaan klo 03:14:07 UTC 19. tammikuuta 2038. Seuraavalla sekunnilla kokonaisluku ylivuotaa ja kääntyy sen negatiiviseksi arvoksi, joka järjestelmissä tulkitaan päivämääräksi vuodelta 1901. Tämä voi aiheuttaa laajalle levinneitä vikoja vanhoissa ohjelmistoissa, jotka luottavat 32-bittisiin aikaleimoihin.

Ratkaisu on käyttää 64-bittistä kokonaislukua aikaleiman tallentamiseen. 64-bittinen kokonaisluku on niin suuri, ettei se ylivuoda noin 292 miljardin vuoden aikana, mikä tehokkaasti ratkaisee ongelman tulevaisuudessa. Useimmat nykyaikaiset käyttöjärjestelmät ja ohjelmistot ovat jo siirtyneet 64-bittisiin aikaleimoihin.

Hyppäyssekunnit ja Unix-aika

Yksi tärkeä tekninen yksityiskohta on, että Unix-aika ei ota huomioon hyppysekunteja. Vaikka UTC (koordinoitu yleismaailmallinen aika) lisää ajoittain hyppysekunteja pitääkseen kellomme synkronoituna Maan pyörimisen kanssa, Unix-timestampti yksinkertaisesti ohittaa ne ja jatkaa lineaarisesti laskemista.

Tämä tarkoittaa, että Unix-aika ei ole todellinen UTC:n kuvaus. Se on tarkemmin sanottuna lineaarinen sekuntien laskenta. Hyppysekunti tapahtuu joskus, jolloin Unix-aika toistaa sekunnin pysyäkseen synkronoituna. Tämä nyanssi on kriittinen tieteellisissä ja korkeataajuisissa sovelluksissa, mutta useimmissa yleiskäyttöisissä tietojärjestelmissä ero on vähäinen.

Yleiset käyttötarkoitukset Unix-ajasta

  • Tiedostojen aikaleimat: Käyttöjärjestelmät käyttävät Unix-aikaleimoja seuratakseen, milloin tiedostoja on luotu, muokattu tai viimeksi avattu.
  • Tietokannat: Se on yleinen ja tehokas tapa tallentaa päivämäärä- ja aika-tietoja tietueille (esim. created_at, updated_at).
  • API:t ja verkkokehitys: Käytetään istuntojen vanhentumiseen, välimuistin hallintaan ja API-pyyntöjen kirjaamiseen.
  • Ohjelmointi: Lähes jokainen ohjelmointikieli tarjoaa funktioita nykyisen Unix-aikaleiman hakemiseen ja sen muuntamiseen ihmisluettavaan päivämäärään ja päinvastoin.

Usein kysytyt kysymykset

Mikä on Unixin ajan alku?

Unix-epochi on hetki, josta aika alkaa Unix-järjestelmissä: 00:00:00 UTC 1. tammikuuta 1970. Unix-aikaleima on yksinkertaisesti sekuntien määrä, joka on kulunut tuosta hetkestä.

Miksi Unix-aika alkaa 1. tammikuuta 1970?

Päivämäärän valitsivat Unixin varhaiset kehittäjät käteväksi, pyöreäksi aloituspisteeksi lähelle sitä, kun järjestelmä luotiin 1970-luvun alussa. Se on ollut siitä lähtien standardi vertailupiste.

Onko Unix-aika UTC:ssä?

Unix-aika lasketaan UTC:ssä määritellystä epookista ja on aikavyöhykkeestä riippumaton, joten sama aikaleima tarkoittaa samaa hetkeä kaikkialla. Koska se ei ota huomioon karkaussekunteja, sitä on parasta kuvata lineaarisena sekuntien lukumääränä eikä täydellisenä UTC:n esityksenä.

Mitä eroa on sekunneilla ja millisekunneilla?

Tavallinen Unixin aikaleima laskee kokonaisia sekunteja aikakauden alusta, mikä on 10 numeroa nykyisille päivämäärille. Monet järjestelmät, kuten JavaScript, laskevat sen sijaan millisekunteja, jolloin arvo on 1 000 kertaa suurempi, 13 numeroa.

Mikä on vuoden 2038 ongelma?

Järjestelmät, jotka tallentavat aikaleiman 32-bittisenä etumerkillisenä kokonaislukuna, voivat laskea vain 19. tammikuuta 2038 kello 03:14:07 UTC asti, minkä jälkeen arvo ylivuotaa ja tulkitaan virheellisesti vuoden 1901 päivämääräksi. Korjaus on tallentaa aikaleima 64-bittisenä kokonaislukuna.

Kello nyt sisällä näissä kaupungeissa:

New York · Lontoo · Tokio · Pariisi · Hongkong · Singapore · Dubai · Los Angeles · Shanghai · Peking · Sydney · Mumbai

Kello nyt maissa:

🇺🇸 USA | 🇨🇳 Kiina | 🇮🇳 Intia | 🇬🇧 Iso-Britannia | 🇩🇪 Saksa | 🇯🇵 Japani | 🇫🇷 Ranska | 🇨🇦 Kanada | 🇦🇺 Australia | 🇧🇷 Brasilia |

Kello nyt aikavyöhykkeet:

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

Ilmainen widgetit verkkovastaaville:

Ilmainen analoginen kello-widget | Ilmainen digitaalinen kello-widget | Ilmainen tekstikellon-widget | Ilmainen sanakellon-widget