Data na znacznik czasu Unix

5 z 3 ocen
Data na znacznik czasu Unix

Data na znacznik czasu Unix to bezpłatne narzędzie, które przekształca określoną datę i strefę czasową w znacznik czasu Unix do wykorzystania w kodzie, interfejsach API, bazach danych i logach.

Czym jest znacznik czasu Unix?

Znacznik czasu Unix to liczba całkowita oznaczająca liczbę sekund, które upłynęły od 1 stycznia 1970 roku, od godziny 00:00:00 UTC. Ten moment nazywa się epoką Uniksa. Sama epoka ma znacznik 0, a późniejsze daty mają wartości dodatnie.

Znaczniki czasu Unix umożliwiają systemom przekazywanie informacji o konkretnym momencie w zwartej formie, niezależnej od języka. Pozwalają uniknąć niejednoznacznych regionalnych zapisów, takich jak 10/09/2026, który w Polsce oznacza 10 września, ale niektóre systemy mogą go odczytać jako 9 października.

Znacznik czasu opisuje konkretny moment, a nie sformatowaną datę kalendarzową. Sam w sobie nie zawiera oznaczenia Europe/London, UTC ani żadnej innej strefy czasowej. Strefa ma znaczenie podczas konwersji, ponieważ określa, jaki moment odpowiada pierwotnej dacie lokalnej.

Schemat: 1 stycznia 2024 UTC jest konwertowany na znacznik czasu Unix 1704067200

Jak przeliczyć datę na znacznik czasu Unix?

Ustaw pole Strefa czasowa, a następnie wykorzystaj zwróconą wartość Znacznik czasu Unix w systemie, który jej wymaga.

  1. Wybierz odpowiednią strefę czasową.
  2. Uruchom konwersję i skopiuj liczbę całkowitą z pola Znacznik czasu Unix.
  3. Przed wstawieniem wartości sprawdź, czy system docelowy oczekuje sekund, czy milisekund.
Narzędzie Data na znacznik czasu Unix w serwisie digily.link wraz z formularzem wprowadzania danych

Wybór strefy czasowej może zmienić wynik o kilka godzin. Różnica zależy też od daty, ponieważ w regionach takich jak Wielka Brytania obowiązują zasady zmiany czasu. Strefa Europe/London odpowiada zimą UTC, a podczas brytyjskiego czasu letniego zazwyczaj UTC+1.

Konwersja w narzędziu Data na znacznik czasu Unix odbywa się na serwerze. Wartość z pola Strefa czasowa jest przesyłana na serwer przez HTTPS i nie jest przechowywana.

Jak odczytać zwrócony znacznik czasu?

Wynik oznacza liczbę sekund od epoki Uniksa. Nie zawiera znaków interpunkcyjnych, oznaczenia strefy czasowej ani daty czytelnej dla człowieka. W przypadku współczesnych dat często jest to wartość dziesięciocyfrowa, ale sama liczba cyfr nie potwierdza poprawności znacznika.

Najczęstszy problem podczas integracji to pomylenie sekund z milisekundami. Narzędzia związane z Uniksem i wiele systemów serwerowych używają sekund. Interfejsy API dat w JavaScript zwykle posługują się milisekundami, dlatego w takim przypadku wartość wyrażoną w sekundach trzeba pomnożyć przez 1 000.

  • 0 oznacza 1 stycznia 1970 roku o godzinie 00:00:00 UTC.
  • Większa dodatnia liczba całkowita oznacza późniejszy moment.
  • Ujemny znacznik czasu może oznaczać datę sprzed epoki Uniksa, choć jego obsługa zależy od aplikacji i platformy.
  • Liczba nie zachowuje informacji o strefie czasowej użytej do jej obliczenia.

Sam wynik liczbowy nie potwierdza, że wybrano właściwą strefę czasową. Jeśli po konwersji godzina wygląda na nieprawidłową, najpierw sprawdź wybraną strefę, a następnie obowiązujące w danym dniu zasady zmiany czasu. Jeżeli wynik różni się 1 000 razy, sprawdź oczekiwaną jednostkę.

Przykłady konwersji dat

Te krótkie przykłady pokazują, jak strefa czasowa wpływa na reprezentowany moment.

1 stycznia 1970, 00:00:00 UTC odpowiada wartości 0.

1 stycznia 2024, 00:00:00 UTC odpowiada wartości 1704067200.

1 lipca 2024, 12:00:00 Europe/London odpowiada wartości 1719831600.

W ostatnim przykładzie w Londynie obowiązywał brytyjski czas letni, dlatego lokalne południe odpowiadało godzinie 11:00 UTC. Użycie UTC jako strefy czasowej dla tej samej zapisanej godziny dałoby inny znacznik.

W przypadku danych zewnętrznych wybieraj jednoznaczne zapisy, takie jak 1 lipca 2024 albo format ISO 2024-07-01, zamiast 01/07/2024. Litery ze znakami diakrytycznymi ani znaki spoza alfabetu łacińskiego nie są częścią samego znacznika, ponieważ wynik zawiera cyfry i może zaczynać się znakiem minus.

Kiedy warto przeliczyć datę na czas uniksowy?

Konwersja przydaje się, gdy datę czytelną dla człowieka trzeba porównać, posortować lub przesłać jako precyzyjnie określony moment w formacie obsługiwanym przez system. Typowe zastosowania to debugowanie odpowiedzi API, przygotowanie zaplanowanego zadania przed wdrożeniem, sprawdzanie rekordów w bazie danych oraz interpretowanie dat przekazanych przez inną usługę.

  • Przelicz termin wydania przed zapisaniem go w konfiguracji wdrożenia.
  • Porównaj zdarzenie w aplikacji ze znacznikami czasu w logach serwera.
  • Przygotuj parametry zapytania do API, które przyjmuje czas początkowy i końcowy jako liczbę sekund od epoki.
  • Ujednolić daty zaimportowane z pliku CSV przed zapisaniem ich w bazie danych.
  • Sprawdź, czy webhook zewnętrznej usługi przesyła sekundy, a nie milisekundy.

Konwersja nie jest potrzebna, jeśli datę będzie odczytywać wyłącznie człowiek, a system odbiorczy przyjmuje jednoznaczną wartość ISO 8601. Data taka jak 2026-09-10T14:30:00+01:00 zachowuje przesunięcie względem UTC i zwykle łatwiej ją sprawdzić podczas debugowania. Podobnie wielokrotne przeliczanie wartości, która już jest znacznikiem czasu Unix, nie wnosi żadnych nowych informacji.

To narzędzie nie sprawdza schematu API, nie potwierdza, że zaplanowane zadanie zostanie uruchomione, ani nie zachowuje w wyniku pierwotnej strefy czasowej. Aby wyświetlić znacznik w postaci daty kalendarzowej, użyj narzędzia Znacznik czasu Unix na datę.

Najczęściej zadawane pytania

Czy mogę bezpośrednio wpisać datę lub godzinę?

Nie. Jedynym udokumentowanym polem, które użytkownik może wypełnić w tym narzędziu, jest Strefa czasowa.

Z jakiej funkcji PHP korzysta narzędzie?

Implementacja po stronie serwera wywołuje funkcję date języka PHP.

Na czym polega problem roku 2038?

Największy 32-bitowy znacznik czasu Unix ze znakiem wynosi 2 147 483 647 i odpowiada 19 stycznia 2038 roku o godzinie 03:14:07 UTC. Współczesne systemy często używają wartości 64-bitowych, ale starsze oprogramowanie, formaty plików i urządzenia wbudowane mogą nadal podlegać temu ograniczeniu. Jeśli przygotowujesz daty z odległej przyszłości, sprawdź typ używany do ich przechowywania.

Czy znaczniki czasu Unix uwzględniają sekundy przestępne?

W standardowym modelu POSIX czas uniksowy nie przedstawia sekund przestępnych jako osobnych, ponumerowanych sekund. Jest to wystarczające w przypadku większości zastosowań związanych z planowaniem zadań i rejestrowaniem zdarzeń, ale specjalistyczne obliczenia astronomiczne lub bardzo precyzyjne pomiary czasu mogą wymagać innego standardu.

Co sprawdzić przed zapisaniem wyniku?

Sprawdź strefę czasową, obowiązywanie czasu letniego oraz jednostkę oczekiwaną przez system odbiorczy. Następnie w tym systemie przelicz znacznik z powrotem na czytelną datę i porównaj ją z wartością początkową, zanim rozpoczniesz wdrożenie lub zaktualizujesz zapisane dane.

Podobne narzędzia

Znacznik czasu Unix na datę

Przekształć znacznik czasu Unix na UTC i swoją lokalną datę za pomocą naszego narzędzia do konwersji znaczników czasu Unix na datę dla dokładnej konwersji czasu.

4,852
0

Popularne narzędzia