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:
| Lukema | Tulos |
|---|---|
| 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 |
| ISO | 2023-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.
| Luku | Numeroita | Tunnistettu yksikkö | Saatu hetki |
|---|---|---|---|
| 1700000000 | 10 | Sekunnit | 14. marraskuuta 2023, 22:13:20 UTC |
| 1700000000000 | 13 | Millisekunnit | 14. marraskuuta 2023, 22:13:20 UTC |
| 1700000000123456 | 16 | Mikrosekunnit | 14. 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öte | Aikaleima sekunteina | Lukema |
|---|---|---|
| 2026-01-01 | 1767225600 | Keskiyö yleisaikaa, aikavyöhykettä ei annettu |
| 2026-01-01T10:30:00+01:00 | 1767259800 | 10:30 Pariisissa, eli 09:30 yleisaikaa |
| 2024-02-29 | 1709164800 | Karkausvuosi 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
- Lue uudelleen UTC-rivi, joka ei riipu laitteesta.
- Tarkista tuloksen ensimmäisellä rivillä ilmoitettu yksikkö.
- Muunna saatu päivämäärä takaisin: sinun pitäisi saada lähtöluku.
