Generator znaczników czasu

Generowanie uniksowych znaczników czasu lub konwersja między znacznikiem czasu a formatem daty czytelnym dla człowieka. Niezbędne dla programistów pracujących z interfejsami API, bazami danych lub systemami rejestrowania, które używają czasu uniksowego. Szybko konwertuje znaczniki czasu na czytelne daty lub generuje bieżące znaczniki czasu do testowania i rozwoju.

Często 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ź uniksowy znacznik czasu (liczbę sekund od 1970 r.) do naszego konwertera, a my wyświetlimy odpowiednią datę i godzinę w formacie czytelnym dla człowieka. Datę można wyświetlić zarówno w lokalnej strefie czasowej, jak i UTC. Większość znaczników czasu składa się z 10 cyfr dla sekund, ale niektóre systemy używają 13 cyfr dla milisekund (podziel przez 1000, aby uzyskać sekundy).

Uniksowe znaczniki czasu są tradycyjnie mierzone w sekundach (10 cyfr, np. 1609459200). Jednak JavaScript i niektóre inne systemy używają milisekund (13 cyfr, np. 1609459200000). Aby przeliczyć milisekundy na sekundy, należy podzielić je przez 1000. Aby przekonwertować sekundy na milisekundy, pomnóż przez 1000. Nasze narzędzie automatycznie obsługuje oba formaty.

Użyj naszego generatora, aby natychmiast uzyskać bieżący uniksowy znacznik czasu. W JavaScript można użyć Date.now() dla milisekund lub Math.floor(Date.now() / 1000) dla sekund. W Pythonie należy użyć time.time(). W PHP należy użyć time(). Posiadanie aktualnego znacznika czasu jest przydatne do rejestrowania, tworzenia unikalnych identyfikatorów lub testowania funkcji opartych na czasie.

Uniksowe znaczniki czasu są z definicji zawsze w UTC (Coordinated Universal Time). Po przekonwertowaniu na datę czytelną dla człowieka, sposób wyświetlania zależy od strefy czasowej. Na przykład znacznik czasu 1609459200 to 1 stycznia 2021 r. 00:00:00 UTC, ale byłby wyświetlany jako 31 grudnia 2020 r. 19:00:00 w Nowym Jorku (EST, UTC-5). Podczas pracy ze znacznikami czasu należy zawsze brać pod uwagę 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.

Epoka Uniksa (1 stycznia 1970 r. 00:00:00 UTC) została wybrana jako punkt zerowy, gdy Unix został opracowany we wczesnych latach siedemdziesiątych. Data ta była wystarczająco aktualna, aby była istotna i wystarczająco odległa, aby zaspokoić większość potrzeb obliczeniowych. Ujemne znaczniki czasu reprezentują daty sprzed 1970 roku, choć są rzadko używane.

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.

Uniksowe znaczniki czasu są zawsze w UTC i nie ma na nie wpływu czas letni. DST wpływa jedynie na konwersję znacznika czasu na czas lokalny. Dlatego właśnie znaczniki czasu są idealne do przechowywania danych czasu - są odporne na komplikacje związane ze strefą czasową i DST.

Standardowe 32-bitowe uniksowe znaczniki czasu borykają się z problemem roku 2038 (maksymalna wartość 2 147 483 647 sekund = 19 stycznia 2038 r.). Nowoczesne systemy używają 64-bitowych znaczników czasu, które rozszerzają zakres o miliardy lat w przyszłość i przeszłość. Nasze narzędzie obsługuje oba formaty i radzi sobie z datami znacznie wykraczającymi poza rok 2038.