Generator znaczników czasu
Generuj znaczniki czasu Unix lub przeliczaj je na czytelny dla człowieka format daty i odwrotnie. Niezbędne narzędzie dla programistów pracujących z interfejsami API, bazami danych lub systemami rejestrowania zdarzeń korzystającymi z czasu Unix. Szybko przeliczaj znaczniki czasu na czytelne daty lub generuj bieżące znaczniki na potrzeby testowania i programowania.
Najczęściej zadawane pytania
Znacznik czasu systemu Unix to liczba sekund, które upłynęły od 1 stycznia 1970 r. 00:00:00 UTC (epoka systemu Unix). Na przykład 1609459200 reprezentuje 1 stycznia 2021 00:00:00 UTC. Jest to uniwersalny sposób reprezentowania czasu jako pojedynczej liczby, ułatwiający przechowywanie, porównywanie i wykonywanie obliczeń z datami w różnych strefach czasowych i systemach.
Wprowadź znacznik czasu Unix (liczbę sekund od 1970) do naszego konwertera, a wyświetlimy odpowiadającą mu datę i godzinę w czytelnym formacie. Możesz zobaczyć datę w swojej lokalnej strefie czasowej oraz jako UTC. Większość znaczników ma 10 cyfr i oznacza sekundy, ale niektóre systemy używają 13 cyfr dla milisekund (podziel przez 1000, aby uzyskać sekundy).
Znaczniki czasu Unix tradycyjnie podaje się w sekundach (10 cyfr, np. e.g, 1609459200). Jednak JavaScript i niektóre inne systemy używają milisekund (13 cyfr, np. e.g, 1609459200000). Aby przeliczyć milisekundy na sekundy, podziel przez 1000. Aby przeliczyć sekundy na milisekundy, pomnóż przez 1000. Nasze narzędzie automatycznie obsługuje oba formaty.
Użyj naszego generatora, aby natychmiast uzyskać bieżący znacznik czasu Unix. W JavaScript użyj Date.now() dla milisekund lub Math.floor(Date.now() / 1000) dla sekund. W Pythonie użyj time.time(). W PHP użyj time(). Bieżący znacznik czasu przydaje się do rejestrowania zdarzeń, tworzenia unikalnych identyfikatorów i testowania funkcji zależnych od czasu.
Znaczniki czasu Unix są z definicji podawane w UTC (uniwersalnym czasie koordynowanym). Przy wyświetlaniu jako czytelna data zależą od strefy czasowej. Na przykład znacznik 1609459200 odpowiada 1 stycznia 2021 o 00:00:00 UTC, ale w Nowym Jorku będzie to 31 grudnia 2020 o 19:00:00 (EST, UTC-5). Podczas pracy ze znacznikami czasu zawsze uwzględniaj strefy czasowe.
Ponieważ znaczniki czasu są tylko liczbami, można użyć prostej arytmetyki. Aby znaleźć czas między dwoma zdarzeniami, odejmij jeden znacznik czasu od drugiego (wynik jest w sekundach). Aby dodać czas do znacznika czasu, dodaj liczbę sekund (np. +86400 dodaje jeden dzień, +3600 dodaje jedną godzinę). Sprawia to, że znaczniki czasu są idealne do obliczania daty bez martwienia się o miesiące, lata przestępne lub strefy czasowe.
Epokę Unix (1 stycznia 1970 o 00:00:00 UTC) wybrano jako punkt zerowy podczas tworzenia Unix na początku lat 1970. Data była wystarczająco niedawna, by mieć znaczenie, i wystarczająco odległa, by objąć większość potrzeb związanych z informatyką. Ujemne znaczniki czasu oznaczają daty sprzed 1970, choć rzadko się ich używa.
JavaScript używa Date.now() lub new Date().getTime() (milisekundy), Python używa time.time() (sekundy), PHP używa time() (sekundy), Java używa System.currentTimeMillis() (milisekundy). Podczas wymiany znaczników czasu między systemami zawsze sprawdzaj, czy pracujesz z sekundami czy milisekundami, aby uniknąć błędów.
Znaczniki czasu Unix są zawsze podawane w UTC i nie zmieniają się przy przejściu na czas letni. Zmiana czasu wpływa wyłącznie na przeliczanie znacznika na lokalny czas wyświetlany użytkownikowi. Dlatego znaczniki czasu doskonale nadają się do przechowywania danych o czasie — nie dotyczą ich problemy związane ze strefami czasowymi ani zmianą czasu.
Standardowe 32-bitowe znaczniki czasu Unix napotykają problem roku 2038 (maksymalna wartość 2,147,483,647 sekund = 19 stycznia 2038). Współczesne systemy używają znaczników 64-bitowych, które rozszerzają zakres o miliardy lat w przeszłość i przyszłość. Nasze narzędzie obsługuje oba formaty i radzi sobie z datami znacznie późniejszymi niż 2038.