Kaikki oppaat

Unix-aikaleiman muuntaminen päivämääräksi ja päivämäärän aikaleimaksi

Julkaistu · Päivitetty 2 min lukuaika

Unix-aikaleima laskee ajan, joka on kulunut 1. tammikuuta 1970 keskiyöstä yleisaikaa. Saadun päivämäärän ratkaisee kaksi kysymystä: luvun yksikkö ja aikavyöhyke, jossa tulos luetaan.

Vertailuarvo

Muunna Unix-aikaleima antaa kolme lukemaa samasta hetkestä. Luvulle 1700000000, kun selain on asetettu Pariisin ajalle:

LukemaTulos
UTC-päivämääräTue, 14 Nov 2023 22:13:20 GMT
Paikallinen päivämäärä14. marraskuuta 2023 klo 23:13:20 UTC+1
ISO2023-11-14T22:13:20.000Z

Paikallinen aika seuraa selaimen aikavyöhykettä: tunnin enemmän Pariisissa talvella. Sama aikaleima on yksi hetki, luettuna kahdessa aikavyöhykkeessä.

Yksikkö tunnistetaan numeroiden määrästä

Oletusasetus tunnistaa yksikön luvun pituudesta. Alla olevat kolme arvoa merkitsevät samaa hetkeä, tarkkuuden rajoissa.

LukuNumeroitaTunnistettu yksikköSaatu hetki
170000000010Sekunnit14. marraskuuta 2023, 22:13:20 UTC
170000000000013Millisekunnit14. marraskuuta 2023, 22:13:20 UTC
170000000012345616Mikrosekunnit14. marraskuuta 2023, 22:13:20,123 UTC

Sääntö: enintään 11 numeroa, sekunteja; 12-14, millisekunteja; 15 ja 16, mikrosekunteja. Asetus ”millisekunnit” pakottaa tämän yksikön.

Säännön ansa

Koska yksikkö päätellään pituudesta, monitulkintainen arvo luetaan yhdellä tavalla: 10000000000 (11 numeroa) antaa 20. marraskuuta 2286, ja 100000000000 (12 numeroa) antaa 3. maaliskuuta 1973. Maaliskuuta 1973 aiempi millisekunteina annettu aikaleima on 11-numeroinen tai lyhyempi ja luettaisiin sekunteina: pakota silloin asetus ”millisekunnit”.

Arvot ennen vuotta 1970 ja vuoden 2038 raja

Negatiivinen luku merkitsee hetkeä ennen vuotta 1970: −1 antaa 31. joulukuuta 1969 klo 23:59:59 UTC ja 0 antaa 1. tammikuuta 1970 keskiyöllä.

Luku 2147483647 on suurin, jonka etumerkillinen 32-bittinen kokonaisluku sisältää: se antaa 19. tammikuuta 2038 klo 03:14:07 UTC. Seuraava luku, 2147483648, antaa 03:14:08: työkalu jatkaa ilman rajaa, mutta järjestelmä, joka tallentaa ajan 32 bitillä, ei voi.

Päivämäärän muuntaminen aikaleimaksi

Anna päivämäärä luvun sijasta: työkalu antaa aikaleiman sekunteina ja millisekunteina.

SyöteAikaleima sekunteinaLukema
2026-01-011767225600Keskiyö yleisaikaa, aikavyöhykettä ei annettu
2026-01-01T10:30:00+01:00176725980010:30 Pariisissa, eli 09:30 yleisaikaa
2024-02-291709164800Karkausvuosi hyväksytty

Päivämäärä ilman aikavyöhykettä luetaan yleisaikana, ei paikallisena aikana: työkalu muistuttaa tästä tuloksessa. Päivämäärä, jota ei ole, kuten 30. helmikuuta 2026, hylätään ilmoituksella.

Yleiset virheet

  • Millisekuntien lukeminen sekunteina: päivämäärä päätyy tuhansia vuosia liian kauas.
  • Aikavyöhykkeen unohtaminen: paikallisena luettu ja sitten yleisaikana lähetetty päivämäärä siirtyy tunnin tai useamman.
  • Päivämäärän kirjoittaminen ilman aikavyöhykettä paikallista aikaa ajatellen, kun se luetaan UTC:nä.

Jos haluat laskea päivät kahden päivämäärän välillä, katso Päivien laskeminen kahden päivämäärän välillä.

Muunnoksen tarkistus

  1. Lue uudelleen UTC-rivi, joka ei riipu laitteesta.
  2. Tarkista tuloksen ensimmäisellä rivillä ilmoitettu yksikkö.
  3. Muunna saatu päivämäärä takaisin: sinun pitäisi saada lähtöluku.

Muunna Unix-aikaleima