Epoch & Timestamp -muunnin

Muunna aikaleima päivämäärä-muotoon tai hae aikaleima määritetystä päivämäärästä.

Unix-ajan leima
Päivämäärä ja aika

Päivämäärä ja aika

Ohjelmointikielet, joilla saa aikaleiman arvon:

Math.round(new Date() / 1000)
Asiakirja
import time;
time.time()
Asiakirja
(int) (System.currentTimeMillis() / 1000)
Asiakirja
import ( "time" )
int32(time.Now().Unix())
Asiakirja
double now_time = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count();
Asiakirja
NSDate().timeIntervalSince1970
Asiakirja
SELECT UNIX_TIMESTAMP(); #1567758868
SELECT FROM_UNIXTIME(1567758868); #2019-9-6 16:34:28
time()
Asiakirja
DateTimeOffset.Now.ToUnixTimeSeconds()
Asiakirja
Time.now.to_i
Asiakirja

Päivämäärä- ja aikamäärittelyjen standardimääritelmät

RFC 822 | RFC 1036 | RFC 1123 | RFC 2822 | RFC 3339 | RFC 5322 | ISO 8601

Mikä on epoch-aikaleima?

UNIX-aika eli POSIX-aika on UNIX- tai UNIX-tyyppisten järjestelmien käyttämä aikamäärittely: kokonaislukuna ilmaistu aika sekunteina 1. tammikuuta 1970 UTC:sta lähtien nykyhetkeen asti, riippumatta karkaussekunneista.

Vuoden 2038 ongelma

Varhaisimmat Unix-aika-versiot olivat 32-bittisiä kokonaislukuja, jotka kasvoivat 60 Hz:n taajuudella. Ensimmäinen Unix-ohjelmoijan käsikirja, joka julkaistiin 3. marraskuuta 1971, määritti Unix-ajan "ajaksi 00:00:00, 1. tammikuuta 1971, mitattuna kuudellakymmenesosasekunnilla", eli alkaen 00:00:00, 1. tammikuuta 1971, ja kasvoen 60 Hz:n taajuudella. Tämä tarkoittaa, että Unix-ajan tallentaminen 32-bittisenä kokonaislukuna loppuu resetoituessaan 829 päivän jälkeen (noin 2,5 vuotta). Tämän rajoituksen vuoksi Unix-aikaperusta määriteltiin uudelleen useita kertoja, kunnes se alkoi käyttää aikaperustaa 1. tammikuuta 1970 klo 00:00:00 UTC, ajoitettuna 1 Hz:iin. Koska Unix ja C käyttävät ajan edustamiseen 32-bittisiä kokonaislukuja, tämä mahdollistaa noin 136 vuoden aikajakson, joka jaetaan 50/50 ennen ja jälkeen vuoden 1970. Tämä kestää tammikuuhun 19. päivään 2038, jolloin resetoituessa aika loppuu.

Suurin osa tänä päivänä käytössä olevista UNIX-järjestelmistä on 32-bittisiä, eli ne edustavat ajan tyyppiä time_t 32-bittisenä kokonaislukuna. Se voi edustaa sekunteja 136 vuoden ajan. Esimerkiksi 13. joulukuuta 1901 klo 20.45.52 UTC:tä 19. tammikuuta 2038 klo 3.14.07 UTC:aan asti (binäärinen: 01111111 11111111 11111111 11111111, 0x7FFF:FFFF), seuraavassa sekunnissa binääriluku on 10000000 00000000 00000000 00000000 (0x8000:0000), mikä on negatiivinen luku, joten järjestelmät tulkitsevat ajan joulukuun 13. 1901, klo 20:45:52 (ja mahdollisesti takaisin 1970). Tällöin voi ilmetä ohjelmistovirheitä, joista seuraa järjestelmän halvaantuminen.

Nykyinen ratkaisu on muuntaa järjestelmä 32-bittisestä 64-bittiseksi. 64-bittisessä järjestelmässä tämä aika voidaan edustaa jopa 292,2777702659 biljoonan 15:30:08:n päivään 4. joulukuuta saakka.

Tiedostokoko ylittää rajan.

Et voi ladata enempää tiedostoja.

Päivitä tilisi avataksesi lisää

Kuukausilaskutus
Vuosisopimus
-40%

Premium

US$ / Kuukausi
Kertamaksu US$36

Rajaton

US$ / Kuukausi
Kertamaksu US$72