Konwerter znacznika czasu Unix
Zamień czas epoki na prawdziwą datę i z powrotem.
Znacznik czasu na datę
- Czas lokalny
- UTC
- ISO 8601
- Względny
Data na znacznik czasu
- Sekundy
- Milisekundy
- ISO 8601
Działa w przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.
- Aktualny znacznik czasu na żywo
- Sekundy, ms albo mikrosekundy
- Czas lokalny, UTC i ISO 8601
Jak przeliczyć znacznik czasu Unix
- Wklej znacznik czasu. Jednostka zostanie wykryta na podstawie jego długości.
- Odczytaj datę w czasie lokalnym, UTC, ISO 8601 i w formie względnej.
- Aby zrobić to w drugą stronę, wybierz datę i godzinę, a potem skopiuj znacznik czasu.
Jak jednostka jest wykrywana na podstawie liczby cyfr
| Cyfry części całkowitej | Odczytywane jako |
|---|---|
| Do 11 | Sekundy |
| 12 do 14 | Milisekundy |
| 15 do 17 | Mikrosekundy |
| 18 lub więcej | Nanosekundy |
Jeśli liczba trafia dokładnie na jedną z tych granic, wybierz jednostkę ręcznie z listy rozwijanej.
Pobieranie aktualnego znacznika czasu w kodzie
| Język albo narzędzie | Kod |
|---|---|
| JavaScript | Math.floor(Date.now() / 1000) |
| Python | int(time.time()) |
| PHP | time() |
| Terminal Linuksa albo macOS | date +%s |
| PostgreSQL | EXTRACT(EPOCH FROM NOW()) |
Kilka uwag o działaniu czasu Unix
- Liczy sekundy SI, ale z definicji pomija sekundy przestępne, dzięki czemu pozostaje prostym, stale rosnącym licznikiem zamiast śledzić dokładny czas słoneczny.
- Systemy, które przechowują go jako liczbę 64-bitową ze znakiem, odsuwają problem roku 2038 aż do roku 292 277 026 596.
- Własny obiekt Date w JavaScript jest ograniczony do około 273 790 lat w każdą stronę od 1970 roku, co jest osobnym ograniczeniem niż przepełnienie liczby 32-bitowej.
Konwerter znacznika czasu Unix: najczęstsze pytania
Czym jest znacznik czasu Unix?
To liczba sekund od 1 stycznia 1970 roku, godzina 00:00:00 UTC, czyli momentu zwanego epoką Unixa. Pomija sekundy przestępne i jest tą samą liczbą na całym świecie, niezależnie od strefy czasowej.
Jak odróżnić sekundy od milisekund?
Policz cyfry. Obecne czasy mają 10 cyfr w sekundach i 13 w milisekundach, więc 1700000000 i 1700000000000 to ten sam moment. Date.now() w JavaScript zwraca milisekundy, podczas gdy większość narzędzi uniksowych używa sekund.
Czym jest problem roku 2038?
Systemy, które zapisują znacznik czasu jako liczbę 32-bitową ze znakiem, wyczerpują zakres przy 2147483647, czyli 03:14:07 UTC 19 stycznia 2038 roku. Kolejna sekunda przechodzi na liczbę ujemną, która wypada w grudniu 1901 roku. Znaczniki 64-bitowe nie mają tego ograniczenia.
Jak pobrać aktualny znacznik czasu w kodzie?
W JavaScript użyj Math.floor(Date.now() / 1000), w Pythonie int(time.time()), w PHP time(), a w terminalu Linuksa albo macOS date +%s.
Czy znacznik czasu Unix może być ujemny?
Tak. Liczby ujemne liczą wstecz od 1970 roku, więc -86400 to 31 grudnia 1969 roku, godzina 00:00 UTC. Ten konwerter je akceptuje.
Czy znacznik czasu Unix uwzględnia strefy czasowe?
Nie. Liczy sekundy od jednego konkretnego momentu w UTC, więc ta sama liczba oznacza ten sam moment na całym świecie. Strefa czasowa wchodzi w grę dopiero, gdy zamienisz tę liczbę na czytelną datę lokalną.