> timestamp | epoch | konwertuj <
// Konwertuj znaczniki czasu Unix na daty i daty na znaczniki czasu natychmiast
Zegar czasu rzeczywistego
Aktualizowany na żywo wyświetlacz Unix timestamp. Zobacz aktualny czas epoch w czasie rzeczywistym.
Konwersja dwukierunkowa
Konwertuj znaczniki czasu na czytelne daty i daty z powrotem na znaczniki czasu. Oba kierunki obsługiwane.
Wiele formatów
Przeglądaj wyniki w ISO 8601, RFC 2822, UTC, czasie lokalnym i czasie względnym.
// O UNIX TIMESTAMP
Jak działają Unix timestamps:
Unix timestamp (znany również jako czas epoch lub czas POSIX) reprezentuje liczbę sekund, które upłynęły od 1 stycznia 1970 00:00:00 UTC (epoka Unix). Ta prosta wartość całkowita zapewnia uniwersalny, niezależny od strefy czasowej sposób reprezentowania konkretnego momentu w czasie.
Przykład:
1711324800 → 2024-03-25T00:00:00.000Z
Typowe zastosowania:
- >Przechowywanie i zapytania timestampów w bazach danych
- >Pola czasowe w odpowiedziach API
- >Analiza timestampów w plikach logów
- >Debugowanie problemów związanych z czasem
- >Koordynacja czasu między strefami czasowymi
- >Problem Y2K38: 32-bitowe liczby całkowite przepełnią się 19 stycznia 2038
>> często zadawane pytania
P: Czym jest Unix timestamp?
O: Unix timestamp to liczba sekund, które upłynęły od 1 stycznia 1970 00:00:00 UTC. To prosta wartość całkowita używana powszechnie w informatyce.
P: Czym jest czas epoch?
O: Czas epoch to inna nazwa dla Unix timestamp. „Epoch” odnosi się do punktu odniesienia: 1 stycznia 1970 00:00:00 UTC.
P: Czym jest problem Y2038?
O: Problem roku 2038 (Y2K38) występuje, ponieważ wiele systemów przechowuje Unix timestamps jako 32-bitowe liczby całkowite ze znakiem, które mogą reprezentować czasy tylko do 19 stycznia 2038 03:14:07 UTC.
P: Jaka jest różnica między timestampami w sekundach i milisekundach?
O: Unix timestamps w sekundach mają 10 cyfr (np. 1711324800), podczas gdy timestampy w milisekundach mają 13 cyfr (np. 1711324800000).
P: Czy Unix timestamps mogą być ujemne?
O: Tak, ujemne Unix timestamps reprezentują daty przed 1 stycznia 1970. Na przykład, -86400 reprezentuje 31 grudnia 1969.
// Ściąga: długość znacznika czasu
Policz cyfry, aby rozpoznać jednostkę. Pomylenie sekund z milisekundami to najczęstsza przyczyna błędnej daty.
| Cyfry | Jednostka | Przykład | Typowe źródło |
|---|---|---|---|
| 10 | s | 1711324800 | Unix/Linux, PHP time(), Stripe |
| 13 | ms | 1711324800000 | JavaScript Date.now(), Java |
| 16 | µs | 1711324800000000 | Kafka, Cassandra |
| 19 | ns | 1711324800000000000 | Go UnixNano(), InfluxDB |
// Pobieranie bieżącego znacznika czasu w kodzie
JavaScript Math.floor(Date.now() / 1000) Python int(time.time()) PHP time() Go time.Now().Unix() Java Instant.now().getEpochSecond() Ruby Time.now.to_i Bash date +%s
>> Więcej pytań
P: Czy Unix timestamp jest w UTC czy w czasie lokalnym?
O: Zawsze w UTC. Liczba całkowita to bezwzględny moment bez strefy czasowej; strefę stosuje się dopiero przy wyświetlaniu jako data. Zapisuj w UTC, wyświetlaj lokalnie.
P: Dlaczego mój timestamp pokazuje złą datę?
O: Zwykle pomylono sekundy z milisekundami: wartość 13-cyfrowa odczytana jako sekundy daje rok ok. 55 000, a 10-cyfrowa odczytana jako milisekundy — styczeń 1970. Sprawdź też konwersję strefy czasowej oraz czy to nie jest Windows FILETIME lub data z Excela.
P: Jak sekundy przestępne wpływają na Unix timestamp?
O: Nie wpływają. Czas Unix liczy dokładnie 86 400 sekund na dobę i ignoruje sekundy przestępne, które są powtarzane lub rozkładane (leap smear). Dla niemal wszystkich zastosowań to wystarcza; do pomiarów naukowych używa się TAI.
P: Czy istnieją inne epoki niż Unix?
O: Tak: NTP używa 1900-01-01, Windows FILETIME 1601-01-01 (kroki 100 ns), Excel liczy dni od 1899-12-30, a Mac HFS+ używał 1904-01-01. Jeśli wartość jest daleko od obecnej liczby Unix, to prawdopodobnie jedna z tych odmian.