Unix Timestamp na datę i godzinę – konwerter znacznika czasu epoch
Wklej Unix timestamp i odczytaj datę z godziną. Znacznik 1700000000 to 14 listopada 2023, 22:13:20 UTC. Konwerter rozpoznaje sekundy, milisekundy, mikrosekundy i nanosekundy po liczbie cyfr, a opcja Czas lokalny pokazuje godzinę w strefie Twojego urządzenia.
Wpisz sekundy, milisekundy, mikrosekundy albo nanosekundy. Jednostka jest rozpoznawana po liczbie cyfr.
Czym jest Unix timestamp, czyli znacznik czasu uniksowego?
Unix timestamp, po polsku znacznik czasu uniksowego albo czas uniksowy, to liczba sekund, które upłynęły od początku 1970 roku według czasu UTC[1]. Punktem zerowym jest północ 1 stycznia 1970 roku, nazywana epoką Uniksa. UTC to uniwersalny czas koordynowany, od którego liczy się strefy czasowe na całym świecie.
Sposób liczenia opisuje norma POSIX, czyli wspólny standard systemów uniksowych. Każda doba ma w niej dokładnie 86 400 sekund[2]. Sekundy przestępne, które dodaje się do UTC, nie mają w tym rachunku osobnych liczb[1].
Sam znacznik nie zawiera informacji o strefie czasowej[3]. Liczba 1700000000 opisuje tę samą chwilę w Warszawie i w Nowym Jorku. Różni się dopiero godzina, którą w tej chwili pokazują zegary w obu miastach.

Jaką datę oznacza Unix timestamp?
Unix timestamp 1700000000 oznacza 14 listopada 2023 roku, godzinę 22:13:20 UTC. W Polsce była wtedy godzina 23:13:20, bo w listopadzie obowiązuje czas środkowoeuropejski, późniejszy od UTC o jedną godzinę[4].
Datę dla dowolnego znacznika odczytasz w konwerterze powyżej. Wklej liczbę w pole Unix Timestamp, a data pojawi się w polu Data i czas już w trakcie wpisywania. Pod wynikiem konwerter podaje, w jakiej jednostce odczytał liczbę.
Jednostkę rozpoznaje po liczbie cyfr. Dzisiejszy znacznik w sekundach ma dziesięć cyfr. Wartość z JavaScriptu ma trzynaście cyfr, bo funkcja Date.now() zwraca milisekundy[5]. Dziewiętnaście cyfr ma wynik funkcji time.time_ns() w Pythonie, która liczy nanosekundy[6].
Godzinę w strefie Twojego urządzenia pokaże opcja Czas lokalny w przełączniku Strefa czasowa. Do wyniku zostanie wtedy dopisane przesunięcie strefy. W Polsce zimą jest to +01:00, a latem +02:00.
Znacznik dla wybranej daty i godziny policzysz w konwerterze daty na Unix timestamp.
Jak zamienić Unix timestamp na datę? Wzór i przykład
W czasie uniksowym każda doba ma dokładnie 86 400 sekund[2]. Żeby zamienić znacznik na datę, dzielisz go przez 86 400. Część całkowita wyniku to liczba pełnych dób od 1 stycznia 1970 roku. Reszta z dzielenia to godzina tego dnia zapisana w sekundach.
Weźmy znacznik 1700000000. Po podzieleniu przez 86 400 wychodzi 19 675 pełnych dób. Reszta wynosi 80 000 sekund.
Doba o numerze 19 675, jeśli 1 stycznia 1970 roku liczymy jako dobę zerową, to 14 listopada 2023 roku. Reszta to godzina tego dnia: 80 000 sekund to 22 godziny, 13 minut i 20 sekund. Pełny wynik brzmi więc 2023-11-14 22:13:20 UTC.
Znacznik w milisekundach dzielisz najpierw przez 1000, w mikrosekundach przez milion, a w nanosekundach przez miliard. Konwerter powyżej wykonuje to dzielenie sam, zanim policzy datę. Przeliczenie w drugą stronę, z daty na liczbę sekund, wykonuje konwerter daty na Unix timestamp.
Znacznik zapisany szesnastkowo, na przykład 6553F100, zamień najpierw na liczbę dziesiętną. Zrobisz to w konwerterze liczb dziesiętnych na szesnastkowe po kliknięciu przycisku Zmień kolejność. Wartość 6553F100 to dziesiętnie 1700000000.
Jakie daty oznaczają okrągłe znaczniki uniksowe?
| Znacznik | Data i godzina UTC | Co oznacza ta wartość |
|---|---|---|
| -2147483648 | 1901-12-13 20:45:52 | Najmniejsza 32-bitowa liczba całkowita ze znakiem |
| -86400 | 1969-12-31 00:00:00 | Doba przed epoką |
| -1 | 1969-12-31 23:59:59 | Ostatnia sekunda przed epoką |
| 0 | 1970-01-01 00:00:00 | Epoka Uniksa |
| 86400 | 1970-01-02 00:00:00 | Koniec pierwszej doby |
| 1000000000 | 2001-09-09 01:46:40 | Miliard sekund |
| 1234567890 | 2009-02-13 23:31:30 | Cyfry od 1 do 0 po kolei |
| 1500000000 | 2017-07-14 02:40:00 | Półtora miliarda sekund |
| 1600000000 | 2020-09-13 12:26:40 | 1,6 miliarda sekund |
| 1700000000 | 2023-11-14 22:13:20 | 1,7 miliarda sekund |
| 1735689600 | 2025-01-01 00:00:00 | Początek 2025 roku |
| 1767225600 | 2026-01-01 00:00:00 | Początek 2026 roku |
| 1800000000 | 2027-01-15 08:00:00 | 1,8 miliarda sekund |
| 2000000000 | 2033-05-18 03:33:20 | Dwa miliardy sekund |
| 2147483647 | 2038-01-19 03:14:07 | Największa 32-bitowa liczba całkowita ze znakiem |
| 4102444800 | 2100-01-01 00:00:00 | Początek 2100 roku |
| 4294967295 | 2106-02-07 06:28:15 | Największa 32-bitowa liczba całkowita bez znaku |
Po czym poznać, czy znacznik jest w sekundach, milisekundach czy nanosekundach?
| Jednostka | Liczba cyfr dziś | Chwila 1700000000 w tej jednostce | Gdzie ją spotkasz |
|---|---|---|---|
| Sekundy | 10 | 1700000000 | time() w PHP, pole exp w tokenie JWT, znacznik na Discordzie |
| Milisekundy | 13 | 1700000000000 | Date.now() w JavaScripcie, EPOCHTODATE z jednostką 2 |
| Mikrosekundy | 16 | 1700000000000000 | EPOCHTODATE z jednostką 3 |
| Nanosekundy | 19 | 1700000000000000000 | time.time_ns() w Pythonie |
Jaką formułą albo poleceniem zamienić Unix timestamp na datę?
| Gdzie | Formuła albo polecenie | Wynik dla 1700000000 |
|---|---|---|
| Excel | =A1/86400+DATA(1970;1;1) | 2023-11-14 22:13:20 po nadaniu komórce formatu daty i godziny |
| Excel, znacznik w milisekundach | =A1/86400000+DATA(1970;1;1) | Ta sama data dla wartości 1700000000000 |
| Arkusze Google | =EPOCHTODATE(A1) | Data i godzina w UTC |
| Arkusze Google, milisekundy | =EPOCHTODATE(A1; 2) | Data i godzina w UTC dla wartości 1700000000000 |
| MySQL | SELECT FROM_UNIXTIME(1700000000); | 2023-11-14 22:13:20, gdy sesja ma strefę UTC |
| PostgreSQL | SELECT to_timestamp(1700000000); | 2023-11-14 22:13:20+00, gdy sesja ma strefę UTC |
| Python | datetime.fromtimestamp(1700000000, tz=timezone.utc) | 2023-11-14 22:13:20+00:00 |
| JavaScript | new Date(1700000000 * 1000).toISOString() | 2023-11-14T22:13:20.000Z |
| Linux, polecenie date | date -u -d @1700000000 | Tue Nov 14 22:13:20 UTC 2023 |
| PowerShell 7.1 i nowszy | Get-Date -UnixTimeSeconds 1700000000 -AsUTC | Data i godzina w UTC w formacie ustawień regionalnych |
Jak ustawić formułę w Excelu i Arkuszach Google, żeby pokazała datę?
Przy jednym znaczniku szybsze jest pole powyżej. Kolumnę znaczników wyeksportowaną z bazy danych arkusz zamieni jedną formułą przeciągniętą w dół.
Excel: formuła z funkcją DATA
Wpisz znacznik w komórkę A1, a w komórkę B1 formułę =A1/86400+DATA(1970;1;1). W polskim Excelu funkcja DATA ma argumenty rok, miesiąc i dzień[18]. Formuła dzieli sekundy przez liczbę sekund w dobie i dodaje wynik do daty 1 stycznia 1970 roku.Excel: format daty i godziny w komórce
Excel przechowuje daty jako kolejne liczby, w których 1 stycznia 1900 roku ma numer 1[18]. Komórka B1 pokaże więc najpierw liczbę dni z ułamkiem, około 45244,93. Nadaj jej format daty z godziną, a zobaczysz 2023-11-14 22:13:20.Excel: skoroszyt w systemie dat 1904
Excel może liczyć daty od 1 stycznia 1904 roku, a oba systemy dat różnią się o 1462 dni[19]. W systemie 1900 dzień 1 stycznia 1970 roku ma numer 25569. W systemie 1904 ten sam dzień ma numer 24107. Funkcja DATA zwraca numer dnia w systemie dat danego skoroszytu, więc formuła daje poprawną datę w obu systemach.Arkusze Google: funkcja EPOCHTODATE
W Arkuszach Google wystarczy formuła =EPOCHTODATE(A1). Znacznik w milisekundach wymaga drugiego argumentu 2, a w mikrosekundach argumentu 3. Wynik jest podany w UTC niezależnie od strefy czasowej ustawionej w arkuszu[11].Godzina polska w arkuszu
Obie formuły dają czas UTC. Żeby otrzymać godzinę polską zimą, dodaj do wyniku 1/24, czyli jedną godzinę. Latem dodajesz 2/24, bo czas letni środkowoeuropejski jest późniejszy od UTC o dwie godziny[4].
Dlaczego godzina z konwertera różni się od godziny w Polsce?
Konwerter domyślnie pokazuje czas UTC, bo w tej skali liczony jest sam znacznik[1]. Polski czas urzędowy to zimą czas środkowoeuropejski, późniejszy od UTC o godzinę, a latem czas letni środkowoeuropejski, późniejszy od UTC o dwie godziny[4].
Znacznik 1700000000 daje więc godzinę 22:13:20 w UTC i 23:13:20 w Polsce. Latem różnica wynosi dwie godziny. Znacznik 1782864000 oznacza 1 lipca 2026 roku o północy UTC, a w Polsce godzinę 2:00.
Tak samo działają bazy danych. MySQL pokazuje wynik funkcji FROM_UNIXTIME w strefie sesji[12]. Ten sam znacznik odczytany przy strefie sesji UTC i przy strefie Europe/Warsaw daje więc dwie różne godziny.
Godzinę polską bez liczenia przesunięcia pokaże opcja Czas lokalny w przełączniku Strefa czasowa, jeśli Twoje urządzenie ma ustawioną polską strefę. Znacznik dla konkretnej godziny polskiej policzysz w konwerterze daty na Unix timestamp.

Źródła
- Czas uniksowy — Wikipedia
- The Open Group Base Specifications Issue 8 (POSIX.1-2024), 4.19 Seconds Since the Epoch — The Open Group
- time — PHP Manual — The PHP Group
- Informacja dotycząca czasu urzędowego — Główny Urząd Miar
- Date.now() — MDN Web Docs
- time — Time access and conversions — Python Software Foundation
- Unixzeit — Wikipedia (niemiecka)
- Year 2038 problem — Wikipedia (angielska)
- RFC 7519: JSON Web Token (JWT) — IETF
- Reference — Message Formatting — Discord Developer Documentation
- EPOCHTODATE — Pomoc Edytorów Dokumentów Google
- MySQL 8.4 Reference Manual, Date and Time Functions — Oracle
- PostgreSQL Documentation, Date/Time Functions and Operators — PostgreSQL Global Development Group
- PostgreSQL Documentation, Date/Time Types — PostgreSQL Global Development Group
- datetime — Basic date and time types — Python Software Foundation
- GNU Coreutils, Seconds since the Epoch — Free Software Foundation
- Get-Date (Microsoft.PowerShell.Utility) — Microsoft Learn
- DATA (funkcja) — Microsoft
- Systemy dat w programie Excel — Microsoft
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 Unix timestamp
Jaki jest teraz aktualny Unix timestamp?
Aktualny znacznik rośnie o jeden co sekundę. We wrześniu 2026 roku mieści się między 1788220800 a 1790812799. Dokładną wartość zwraca w konsoli przeglądarki wyrażenie Math.floor(Date.now() / 1000), bo Date.now() zwraca milisekundy[5].
Co oznacza pole exp w tokenie JWT?
Pole exp podaje chwilę, od której token nie może być przyjęty. Jego wartość to liczba sekund od 1 stycznia 1970 roku UTC, liczona z pominięciem sekund przestępnych[9]. Wklej ją w pole konwertera, a zobaczysz datę i godzinę wygaśnięcia tokena. Tak samo zapisane są pole iat, czyli chwila wystawienia tokena, oraz pole nbf, czyli chwila, przed którą token nie może być przyjęty[9].
Co to jest problem roku 2038?
Największą wartość znacznik zapisany jako 32-bitowa liczba ze znakiem osiąga 19 stycznia 2038 roku o 03:14:07 UTC[1]. Sekundę później licznik przepełnia się i pokazuje 13 grudnia 1901 roku[8]. Jądro Linuksa od wersji 5.6 z 2020 roku obsługuje 64-bitowy zapis czasu także na architekturach 32-bitowych[8].
Czy Unix timestamp może być ujemny?
Tak. Wartości ujemne oznaczają chwile przed 1 stycznia 1970 roku[13]. Znacznik -86400 to 31 grudnia 1969 roku, godzina 00:00:00 UTC. Konwerter przyjmuje minus wpisany przed liczbą.
Jak czas uniksowy traktuje sekundy przestępne?
Każda doba ma w nim dokładnie 86 400 sekund[2], więc sekunda przestępna nie ma własnej liczby. Dokumentacja GNU podaje przykład z końca 2016 roku. Znacznik 1483228799 to 31 grudnia, godzina 23:59:59 UTC, a znacznik 1483228800 to już północ 1 stycznia 2017 roku. Sekundy 23:59:60 nie da się zapisać znacznikiem[16].
Jak pokazać Unix timestamp w wiadomości na Discordzie?
Wpisz w wiadomości <t:1700000000>. Discord pokaże tę chwilę w strefie czasowej i formacie każdego czytelnika. Styl dopisujesz po drugim dwukropku: <t:1700000000:R> daje czas względny, a <t:1700000000:F> pełną datę z dniem tygodnia[10].
Dlaczego Python wycofał metodę utcfromtimestamp?
Metoda datetime.utcfromtimestamp() jest wycofana od Pythona 3.12. Zwraca obiekt bez strefy czasowej, a wiele metod modułu datetime traktuje taki obiekt jak czas lokalny. Dokumentacja zaleca w jej miejsce datetime.fromtimestamp(znacznik, tz=timezone.utc)[15].
Czy pole przyjmuje przecinek, spacje i wartości w milisekundach?
Tak. Pole przyjmuje ułamek sekundy z kropką albo przecinkiem, na przykład 1700000000,5. Cyfry możesz rozdzielić spacją, podkreślnikiem albo apostrofem co trzy cyfry, tak jak w zapisie 1 700 000 000. Pole przyjmuje też przecinki albo kropki co trzy cyfry, jak w zapisie angielskim „1,700,000,000” i niemieckim „1.700.000.000”. Milisekundy, mikrosekundy i nanosekundy konwerter rozpoznaje sam po liczbie cyfr.
Jak zamienić datę z powrotem na Unix timestamp?
Kliknij przycisk Zmień kolejność. Otworzy się konwerter daty na Unix timestamp, a wynik z pola Data i czas zostanie wpisany w jego pole. Datę wpisujesz tam w zapisie 2023-11-14 22:13:20 albo 14.11.2023 22:13.

Pomóż nam ulepszyć narzędzia
Masz pomysł na nową funkcję, widzisz błąd lub chcesz zaproponować inne narzędzie? Napisz do nas.