Konwerter znaczników czasu Unix
Konwertuj znaczniki czasu Unix między sekundami, milisekundami, mikrosekundami i nanosekundami
Wejście
Wyjście
Instrukcja
Czym jest czas Unix?
Czas Unix (nazywany również czasem epoki lub znacznikiem czasu POSIX) określa czas, który upłynął od 00:00:00 UTC 1 stycznia 1970 roku. Poszczególne systemy używają różnych jednostek: powłoki Unix, PHP i większość baz danych stosują sekundy, JavaScript i Java — milisekundy, time.time_ns() w Pythonie, Go i InfluxDB obsługują nanosekundy, a wiele narzędzi do śledzenia i rejestrowania zdarzeń używa mikrosekund. Ten sam moment to 1700000000 sekund lub 1700000000000000000 nanosekund, więc pomylenie jednostki przesuwa datę o tysiące lat.
Opis narzędzia
To narzędzie konwertuje znacznik czasu Unix między sekundami, milisekundami, mikrosekundami i nanosekundami oraz wyświetla reprezentowaną przez niego datę. Wklej znacznik czasu — jednostka zostanie wykryta na podstawie jego długości — lub wybierz ją samodzielnie. Każda konwersja jest dokładna, także w przypadku znaczników czasu w nanosekundach, które są zbyt duże dla zwykłej liczby JavaScript.
Funkcje
- Konwertuje między sekundami, milisekundami, mikrosekundami i nanosekundami w jednym kroku
- Wykrywa jednostkę wejściową na podstawie liczby cyfr lub pozwala wybrać ją samodzielnie
- Zachowuje pełną precyzję bez błędów zaokrągleń, także dla 19-cyfrowych wartości w nanosekundach
- Akceptuje ułamki (
1700000000.123), wartości ujemne dla dat sprzed 1970 roku oraz notację naukową (1.7e9) - Opcjonalny zapis w postaci liczby całkowitej dla API, które wymagają liczb całkowitych
- Wyświetla datę w formacie ISO 8601 w strefie UTC, z dokładnością do nanosekund, oraz w lokalnej strefie czasowej
- Ukrywa pola mikrosekund i nanosekund, jeśli ich nie potrzebujesz
Jak to działa
Znacznik czasu jest odczytywany jako dokładna liczba dziesiętna i przechowywany jako całkowita liczba nanosekund z użyciem liczb całkowitych o dowolnej precyzji zamiast liczb zmiennoprzecinkowych. Każdy wynik jest obliczany przez podzielenie tej wartości przez rozmiar odpowiedniej jednostki i zapisywany dokładnie, dzięki czemu konwersja milisekund na sekundy daje 1700000000.123, a nie zaokrągloną wartość. Przy włączonej opcji „Tylko liczby całkowite” wynik jest zaokrąglany w dół do jednostki, w której się znajduje. Tak samo czas Unix obsługuje daty sprzed 1970 roku: -1.5 sekundy staje się wartością -2.
Gdy jednostka jest wykrywana automatycznie, narzędzie zakłada datę z zakresu od 1973 do 5138 roku: wartości o długości do 11 cyfr są odczytywane jako sekundy, od 12 do 14 cyfr jako milisekundy, od 15 do 17 cyfr jako mikrosekundy, a wartości o długości co najmniej 18 cyfr jako nanosekundy.
Wskazówki
- Wykrywanie na podstawie długości nie pozwala odróżnić krótkich wartości, takich jak znacznik czasu w milisekundach sprzed marca 1973 roku i znacznik czasu w sekundach. Jeśli data wygląda nieprawidłowo, wybierz jednostkę wejściową samodzielnie.
- Opcja „Teraz” wstawia bieżący czas w używanej jednostce. Przeglądarki podają czas tylko z dokładnością do milisekund, dlatego ostatnie cyfry wartości w mikrosekundach i nanosekundach są zerami.
- Spacje i podkreślenia w danych wejściowych są ignorowane, więc możesz wklejać wartości takie jak
1_700_000_000.