Czym jest znacznik czasu Unix?

Znaczniki czasu Unix są wszędzie w programowaniu, ale wielu programistów ich używa nie do końca rozumiejąc, jak działają. Ten przewodnik wyjaśnia wszystko, co musisz wiedzieć.

Podstawy

Znacznik czasu Unix to pojedyncza liczba reprezentująca moment w czasie. Liczy sekundy od 1 stycznia 1970, 00:00:00 UTC. Przykład: 1704067200 = Poniedziałek, 1 stycznia 2024, 00:00:00 UTC. Obecny czas = 10-cyfrowa liczba (lub 13 cyfr dla milisekund w JavaScript). Dlaczego pojedyncza liczba? Prosty — jeden numer do przechowywania. Compact — zajmuje mało miejsca. Łatwy do porównywania — prosta arytmetyka liczb. Uniwersalny — wszystkie systemy rozumieją. Sortowalna — numeryczne sortowanie jest chronologiczne. Pozytywne vs Negatywne: Pozytywne liczby = po 1970. Negatywne liczby = przed 1970 (rzadko używane).

Typowe przypadki użycia

Przechowywanie bazy danych: Przechowuj jako liczby całkowite dla wydajności. Oszczędza miejsce w porównaniu do ciągów daty. Łatwe zapytania o zakres (np. ostatnie 30 dni). API: Wysyłaj znaczniki czasu jako liczby. Brak niejasności formatu daty. Niezależne od strefy czasowej. Obliczenia czasu: Odejmij, aby uzyskać czas trwania w sekundach. Dodaj, aby przesunąć naprzód/wstecz. Porównaj, aby sprawdzić, które jest wcześniejsze/późniejsze. Logowanie: Znaczniki czasu w logach dla dokładnego porządku zdarzeń. Łatwe sortowanie i filtrowanie. Cachowanie: Używaj znaczników czasu do wygaśnięć. Sprawdź, czy cache jest nieaktualny.

Sekundy vs Milisekundy

Różne systemy używają różnej precyzji: Unix (większość backendów): Sekundy od Epoch (10 cyfr). JavaScript: Milisekundy od Epoch (13 cyfr). Konwersja: Sekundy do milisekund: pomnóż przez 1000. Milisekundy do sekund: podziel przez 1000. Przykład: Unix: 1704067200 (sekundy). JavaScript: 1704067200000 (milisekundy).

Wypróbuj Narzędzie

Konwerter Timestamp

Konwerter Timestamp

Powiązane Artykuły