Data na Unix timestamp – konwerter daty i godziny na znacznik czasu

Ostatnia aktualizacja treści:

Wpisz datę z godziną i odczytaj Unix timestamp w sekundach. Północ 1 stycznia 2025 roku UTC to znacznik 1735689600. Pod wynikiem pojawia się ta sama chwila w milisekundach, a przy opcji Czas lokalny wpisana godzina jest liczona w strefie czasowej Twojego urządzenia.

UTC

Wpisz datę w zapisie 2023-11-14 22:13:20 albo 14.11.2023 22:13. Przyjmowany jest też zapis ISO 8601 ze strefą, na przykład 2023-11-14T22:13:20Z.

s
Strefa czasowa

Przy UTC wpisana godzina liczy się bez przesunięcia. Przy czasie lokalnym liczy się w strefie Twojego urządzenia. Data z dopisaną strefą, na przykład +02:00, liczy się według tej strefy.

na

Czym jest Unix timestamp i od czego się go liczy?

Unix timestamp to czas uniksowy zapisany jedną liczbą: liczbą sekund od początku 1970 roku według UTC[1]. Północ 1 stycznia 1970 roku ma znacznik 0, a z każdą kolejną sekundą znacznik rośnie o jeden.

Norma POSIX, czyli wspólny standard systemów uniksowych, podaje wzór, z którego liczy się znacznik dla daty. Wzór sumuje sekundy, minuty pomnożone przez 60, godziny pomnożone przez 3600 i doby pomnożone przez 86 400, z poprawką na lata przestępne[2]. Każda doba ma w tym rachunku dokładnie 86 400 sekund.

Data zapisana dla człowieka zawsze zakłada jakąś strefę czasową, a sam znacznik informacji o strefie nie zawiera[3]. Dlatego godzina 10:00 na zegarze w Warszawie i ta sama godzina na zegarze w Londynie dają dwa różne znaczniki.

Jak zamienić datę na Unix timestamp?

Północ 1 stycznia 2025 roku według UTC to Unix timestamp 1735689600. Północ tego samego dnia w Polsce była chwilą o godzinę wcześniejszą, bo polski czas zimowy jest późniejszy od UTC o jedną godzinę[4]. Jej znacznik wynosi 1735686000.

Żeby policzyć znacznik dowolnej daty, wpisz ją w pole Data i czas, na przykład 2025-01-01 00:00:00 albo 01.01.2025 00:00. Wynik w sekundach pojawi się w polu Unix Timestamp. Pod nim konwerter podaje tę samą chwilę w milisekundach, czyli w jednostce, w której zwraca czas funkcja Date.now() w JavaScripcie[5].

Datę bez strefy konwerter liczy w UTC. Jeśli wpisujesz godzinę z polskiego zegara, wybierz w przełączniku Strefa czasowa opcję Czas lokalny. Konwerter policzy wtedy godzinę w strefie Twojego urządzenia, razem z czasem letnim.

Data z dopisanym przesunięciem, na przykład 2025-01-01T00:00:00+01:00, jest liczona według tego przesunięcia przy obu opcjach.

Gotowy wynik skopiujesz przyciskiem Kopiuj wynik.

Jak policzyć Unix timestamp dla daty? Wzór i przykład

Znacznik to liczba pełnych dób od 1 stycznia 1970 roku pomnożona przez 86 400 i powiększona o sekundy, które upłynęły od północy danego dnia[2].

Weźmy 14 listopada 2023 roku, godzinę 22:13:20 UTC. Od 1 stycznia 1970 roku do tego dnia minęło 19 675 pełnych dób. Po pomnożeniu przez 86 400 wychodzi 1699920000 sekund.

Godzina 22:13:20 to 80 000 sekund od północy. Suma obu liczb daje znacznik 1700000000.

Datę zapisaną w czasie polskim zamień najpierw na UTC. Zimą odejmujesz jedną godzinę, czyli 3600 sekund. Latem odejmujesz dwie godziny, czyli 7200 sekund[4]. Północ 1 stycznia 2025 roku w Polsce to więc 1735689600 minus 3600, czyli 1735686000.

Wynik z powrotem na datę zamienia konwerter Unix timestamp na datę. Jeśli system oczekuje znacznika w zapisie szesnastkowym, wynik zamienisz w konwerterze liczb dziesiętnych na szesnastkowe. Znacznik 1700000000 ma szesnastkowo postać 6553F100.

Kartka kalendarza ze styczniem 2021 roku obok doniczki z rośliną i małego zegarka
Styczeń 2021 roku zaczął się w piątek. Północ 1 stycznia 2021 roku według UTC to Unix timestamp 1609459200. Zdjęcie: Debby Hudson, Unsplash.

Jaki Unix timestamp ma 1 stycznia każdego roku?

Każdy wiersz dotyczy północy 1 stycznia. Kolumna Północ UTC podaje znacznik tej chwili według UTC, a kolumna w milisekundach tę samą chwilę w jednostce JavaScriptu. Kolumna Północ w Polsce podaje znacznik północy według polskiego zegara, który 1 stycznia wskazuje czas zimowy, późniejszy od UTC o jedną godzinę[4].
RokPółnoc UTCPółnoc UTC w milisekundachPółnoc w Polsce
2000946684800946684800000946681200 (UTC+1)
2001978307200978307200000978303600 (UTC+1)
2002100984320010098432000001009839600 (UTC+1)
2003104137920010413792000001041375600 (UTC+1)
2004107291520010729152000001072911600 (UTC+1)
2005110453760011045376000001104534000 (UTC+1)
2006113607360011360736000001136070000 (UTC+1)
2007116760960011676096000001167606000 (UTC+1)
2008119914560011991456000001199142000 (UTC+1)
2009123076800012307680000001230764400 (UTC+1)
2010126230400012623040000001262300400 (UTC+1)
2011129384000012938400000001293836400 (UTC+1)
2012132537600013253760000001325372400 (UTC+1)
2013135699840013569984000001356994800 (UTC+1)
2014138853440013885344000001388530800 (UTC+1)
2015142007040014200704000001420066800 (UTC+1)
2016145160640014516064000001451602800 (UTC+1)
2017148322880014832288000001483225200 (UTC+1)
2018151476480015147648000001514761200 (UTC+1)
2019154630080015463008000001546297200 (UTC+1)
2020157783680015778368000001577833200 (UTC+1)
2021160945920016094592000001609455600 (UTC+1)
2022164099520016409952000001640991600 (UTC+1)
2023167253120016725312000001672527600 (UTC+1)
2024170406720017040672000001704063600 (UTC+1)
2025173568960017356896000001735686000 (UTC+1)
2026176722560017672256000001767222000 (UTC+1)
2027179876160017987616000001798758000 (UTC+1)
2028183029760018302976000001830294000 (UTC+1)
2029186192000018619200000001861916400 (UTC+1)
2030189345600018934560000001893452400 (UTC+1)
2031192499200019249920000001924988400 (UTC+1)
2032195652800019565280000001956524400 (UTC+1)
2033198815040019881504000001988146800 (UTC+1)
2034201968640020196864000002019682800 (UTC+1)
2035205122240020512224000002051218800 (UTC+1)
2036208275840020827584000002082754800 (UTC+1)
2037211438080021143808000002114377200 (UTC+1)
2038214591680021459168000002145913200 (UTC+1)
2039217745280021774528000002177449200 (UTC+1)
2040220898880022089888000002208985200 (UTC+1)
Znacznik początku 2038 roku, 2145916800, mieści się jeszcze w 32-bitowej liczbie całkowitej ze znakiem. Ostatnia sekunda, którą taka liczba zapisze, to 19 stycznia 2038 roku, godzina 03:14:07 UTC[1]. Tę granicę zapisaną dwójkowo, jako trzydzieści jeden jedynek, zobaczysz w konwerterze liczb dziesiętnych na dwójkowe.

Jaki Unix timestamp ma zmiana czasu w Polsce w 2026 roku?

W 2026 roku czas letni w Polsce zaczyna się 29 marca o godzinie 2:00 czasu zimowego, a kończy 25 października o godzinie 3:00 czasu letniego[6]. Tabela podaje znaczniki sekund po obu stronach każdej zmiany.
ChwilaZegar w PolsceUnix timestamp
Ostatnia sekunda czasu zimowego29.03.2026, 01:59:59 CET1774745999
Pierwsza sekunda czasu letniego29.03.2026, 03:00:00 CEST1774746000
Pierwsza godzina 2:30 w październiku25.10.2026, 02:30:00 CEST1792888200
Ostatnia sekunda czasu letniego25.10.2026, 02:59:59 CEST1792889999
Pierwsza sekunda czasu zimowego25.10.2026, 02:00:00 CET1792890000
Druga godzina 2:30 w październiku25.10.2026, 02:30:00 CET1792891800
Godzina od 2:00 do 2:59 zdarza się 25 października dwa razy, więc godzina 2:30 ma tego dnia dwa znaczniki. Wpis 2026-10-25 02:30:00 przy opcji Czas lokalny daje wcześniejszy z nich, 1792888200.

Jaką formułą zamienić datę na Unix timestamp w Excelu, SQL i kodzie?

Każdy wiersz zamienia 14 listopada 2023 roku, godzinę 22:13:20 UTC, na znacznik 1700000000. Wyniki Pythona i JavaScriptu sprawdziliśmy dla tej daty.
GdzieFormuła albo wyrażenieWynik
Excel=(A1-DATA(1970;1;1))*864001700000000 dla daty 2023-11-14 22:13:20 w komórce A1
Excel, wynik w milisekundach=(A1-DATA(1970;1;1))*864000001700000000000
Arkusze Google=(A1-DATA(1970;1;1))*864001700000000
MySQLSELECT UNIX_TIMESTAMP('2023-11-14 22:13:20');1700000000, gdy sesja ma strefę UTC
PostgreSQLSELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '2023-11-14 22:13:20+00');1700000000.000000
Pythondatetime(2023, 11, 14, 22, 13, 20, tzinfo=timezone.utc).timestamp()1700000000.0
JavaScriptDate.UTC(2023, 10, 14, 22, 13, 20) / 10001700000000
JavaScript, wynik w milisekundachDate.UTC(2023, 10, 14, 22, 13, 20)1700000000000
MySQL czyta datę podaną w UNIX_TIMESTAMP w strefie sesji, czyli w strefie ustawionej dla bieżącego połączenia[7]. W PostgreSQL wyrażenie EXTRACT(EPOCH FROM …) dla typu timestamp with time zone liczy sekundy od 1970-01-01 00:00:00 UTC[8]. Date.UTC w JavaScripcie liczy miesiące od zera, więc listopad ma numer 10[9]. W Pythonie metoda timestamp() obiektu datetime ze strefą UTC zwraca liczbę sekund od epoki, a obiekt bez strefy jest traktowany jak czas lokalny[10].

Jak zamienić datę na Unix timestamp w Excelu i Arkuszach Google?

Przy jednej dacie szybsze jest pole powyżej. Całą kolumnę dat arkusz zamieni na znaczniki jedną formułą przeciągniętą w dół.

  1. Excel: różnica dat pomnożona przez 86 400

    W komórce A1 wpisz datę z godziną, a w komórce B1 formułę =(A1-DATA(1970;1;1))*86400. Excel przechowuje daty jako kolejne liczby dni[11], więc różnica dwóch dat daje liczbę dni. Mnożenie przez 86 400 zamienia te dni na sekundy.
  2. Excel: format liczby w komórce z wynikiem

    Jeśli komórka B1 pokazuje wynik jako datę, nadaj jej format liczbowy bez miejsc po przecinku. Zobaczysz wtedy 1700000000.
  3. Data w czasie polskim

    Formuła traktuje datę z komórki A1 jak czas UTC. Jeśli wpisujesz godzinę z polskiego zegara, odejmij od wyniku 3600 sekund dla daty zimowej albo 7200 sekund dla daty letniej[4].
  4. Arkusze Google: ta sama formuła

    Funkcja DATA w polskich Arkuszach Google ma argumenty rok, miesiąc i dzień[12]. Formuła =(A1-DATA(1970;1;1))*86400 działa więc tak samo jak w Excelu.
  5. Excel na Macu i system dat 1904

    Skoroszyt może liczyć daty od 1 stycznia 1904 roku zamiast od 1 stycznia 1900 roku, a różnica między tymi systemami wynosi 1462 dni[13]. Formuła odejmuje datę 1 stycznia 1970 roku policzoną w systemie tego samego skoroszytu, więc daje ten sam znacznik w obu systemach.

Który Unix timestamp dostaje godzina z dnia zmiany czasu?

W ostatnią niedzielę października zegary w Polsce cofa się z 3:00 czasu letniego na 2:00 czasu zimowego[4]. Każda godzina od 2:00 do 2:59 zdarza się wtedy dwa razy, więc każdej odpowiadają dwa znaczniki.

W takiej sytuacji konwerter przy opcji Czas lokalny wybiera wcześniejszą z dwóch chwil, tak jak obiekt Date w JavaScripcie[14]. Drugą chwilę, godzinę późniejszą, wskażesz, dopisując do daty przesunięcie. Wpis 2026-10-25 02:30:00 +01:00 daje znacznik 1792891800. Obie chwile zobaczysz jako godziny polskie, gdy wkleisz te znaczniki w konwerter Unix timestamp na datę i wybierzesz opcję Czas lokalny.

W ostatnią niedzielę marca zegary przestawia się z 2:00 na 3:00[4]. Godzina 2:30 nie pojawia się tego dnia na polskim zegarze. Konwerter przesuwa taki wpis o godzinę do przodu, tak jak robi to Date[14], i podaje znacznik chwili 3:30 czasu letniego.

W 2026 roku te dwie zmiany przypadają na 29 marca i 25 października[6]. Przy opcji UTC każda wpisana godzina ma dokładnie jeden znacznik, bo UTC nie przechodzi na czas letni.

Pięć zegarów ściennych z podpisami miast: Sídney, Londres, Monterrey, Vancouver i New York
Każdy z tych zegarów pokazuje godzinę innego miasta. Godzinę odczytaną z takiego zegara wpisujesz przy opcji Czas lokalny na urządzeniu ustawionym na strefę tego miasta albo z dopisanym przesunięciem strefy. Zdjęcie: Luis Cortes, Unsplash.

Źródła

  1. Czas uniksowyWikipedia
  2. The Open Group Base Specifications Issue 8 (POSIX.1-2024), 4.19 Seconds Since the EpochThe Open Group
  3. time — PHP ManualThe PHP Group
  4. Informacja dotycząca czasu urzędowegoGłówny Urząd Miar
  5. Date.now()MDN Web Docs
  6. Rozporządzenie Prezesa Rady Ministrów z dnia 4 marca 2022 r. w sprawie wprowadzenia i odwołania czasu letniego środkowoeuropejskiego w latach 2022–2026Dziennik Ustaw 2022 poz. 539
  7. MySQL 8.4 Reference Manual, Date and Time FunctionsOracle
  8. PostgreSQL Documentation, Date/Time Functions and OperatorsPostgreSQL Global Development Group
  9. Date.UTC()MDN Web Docs
  10. datetime — Basic date and time typesPython Software Foundation
  11. DATA (funkcja)Microsoft
  12. DATAPomoc Edytorów Dokumentów Google
  13. Systemy dat w programie ExcelMicrosoft
  14. Temporal.ZonedDateTime, Ambiguity and gaps from offset transitionsMDN Web Docs
  15. RFC 7519: JSON Web Token (JWT)IETF
  16. Resolution 4 of the 27th CGPM (2022): On the use and future development of UTCBureau International des Poids et Mesures

Wszystkie wartości w tabelach wyliczyliśmy z definicji jednostek i sprawdziliśmy rachunkowo przed publikacją. Dane historyczne i nazwy lokalnych jednostek opieramy na źródłach wymienionych wyżej.

Ostatnia aktualizacja treści: · przygotował i sprawdził zespół Arteon

Najczęstsze pytania o zamianę daty na Unix timestamp

Jak policzyć Unix timestamp dla północy dzisiejszej daty w Polsce?

Wpisz dzisiejszą datę bez godziny, w zapisie RRRR-MM-DD, i wybierz w przełączniku Strefa czasowa opcję Czas lokalny. Data bez godziny oznacza północ, a opcja Czas lokalny liczy ją w strefie Twojego urządzenia. Przy opcji UTC ten sam wpis daje północ według UTC.

Jak zamienić datę na Unix timestamp w milisekundach?

Pod wynikiem konwerter podaje tę samą chwilę w milisekundach. To znacznik w sekundach pomnożony przez 1000. W milisekundach zwraca wynik także funkcja Date.UTC w JavaScripcie[9].

Jaki Unix timestamp wpisać w pole exp tokenu JWT?

Pole exp zawiera liczbę sekund od 1 stycznia 1970 roku UTC i oznacza chwilę, od której token nie może być przyjęty[15]. Wpisz w konwerter datę i godzinę wygaśnięcia, a wynik z pola Unix Timestamp wstaw do exp. Token ważny godzinę od wystawienia ma w polu exp wartość o 3600 większą niż w polu iat. Datę wygaśnięcia z istniejącego tokena odczytasz w konwerterze Unix timestamp na datę.

Dlaczego w Date.UTC listopad ma numer 10?

Date.UTC liczy miesiące od zera: styczeń ma numer 0, a grudzień 11[9]. Dzień miesiąca, godziny, minuty i sekundy podajesz w zwykłej postaci. Data 14 listopada 2023 roku ma więc w tym wyrażeniu zapis Date.UTC(2023, 10, 14).

Jaką najpóźniejszą datę zapisze 32-bitowy Unix timestamp?

Ostatnia chwila, którą zapisze 32-bitowa liczba ze znakiem, to 19 stycznia 2038 roku, godzina 03:14:07 UTC[1]. W MySQL na platformach 64-bitowych funkcja UNIX_TIMESTAMP przyjmuje daty do 19 stycznia 3001 roku, a dla daty spoza zakresu zwraca 0[7].

Czy mogę wpisać godzinę 23:59:60 z sekundą przestępną?

Konwerter przyjmuje sekundy od 00 do 59, bo w czasie uniksowym każda doba ma dokładnie 86 400 sekund[2]. Generalna Konferencja Miar zdecydowała w 2022 roku, że najpóźniej w 2035 roku dopuszczalna różnica między skalami UT1 i UTC zostanie zwiększona[16].

Jak wpisać datę z konkretną strefą czasową?

Dopisz do daty przesunięcie strefy, na przykład 2023-11-14 23:13:20 +01:00, albo oznaczenie Z, UTC lub GMT. Przesunięcie możesz też zapisać bez dwukropka, jako +0100. Data z dopisaną strefą jest liczona według niej przy obu opcjach przełącznika.

W jakim zapisie wpisać datę z ukośnikami?

Pole przyjmuje ukośniki w zapisie, który zaczyna się od roku, na przykład 2023/11/14. Datę, w której rok stoi na końcu, wpisz z kropkami: 14.11.2023. Konwerter policzy ją wtedy jednoznacznie.

Jak zamienić Unix timestamp z powrotem na datę?

Kliknij przycisk Zmień kolejność. Otworzy się konwerter Unix timestamp na datę, a znacznik z pola Unix Timestamp zostanie wpisany w jego pole. Tamten konwerter przyjmuje też wartości w milisekundach, mikrosekundach i nanosekundach.

Zrzut ekranu darmowego narzędzia Arteon: Data na Unix timestamp – konwerter daty i godziny na znacznik czasu

Pomóż nam ulepszyć narzędzia

Masz pomysł na nową funkcję, znalazłeś błąd lub chcesz zaproponować inne narzędzie? Napisz do nas — odpowiadamy w ciągu 24 godzin.