UNIX Timestamp Konverter (online pretvarač UNIX vremena)

Trenutni UNIX timestamp

Sekunde
Milisekunde

Timestamp → Datum i vrijeme


Datum i vrijeme → Timestamp

UNIX Timestamp Konverter (online pretvarač UNIX vremena)

Ovaj UNIX timestamp konverter omogućava vam brzo pretvaranje UNIX vremena (epoch time / POSIX time) u datum i vrijeme i obrnuto. Podržava timestamp u sekundama i milisekundama, prikazuje lokalno vrijeme, UTC i ISO 8601, a rezultati se mogu kopirati jednim klikom.


Šta je UNIX timestamp (epoch time / POSIX time)?

UNIX timestamp je broj koji izražava vrijeme kao broj sekundi od 1. januara 1970. 00:00:00 UTC (tzv. UNIX epoha). U praksi, to je jedan od najčešće korištenih formata za pohranu i prijenos datuma i vremena u sistemima, bazama podataka, API-jima i logiranju.

Primjer: 1700000000 odgovara datumu 14. novembra 2023. 22:13:20 UTC.

Zašto baš 1. 1. 1970.?

Početak epohe (1970-01-01) je odabran prilikom dizajniranja UNIX-a kao praktična referentna tačka: blizu je perioda nastanka sistema i omogućava jednostavne kalkulacije vremena.


UNIX timestamp u sekundama vs. milisekundama

UNIX timestamp se najčešće pojavljuje u dva oblika:

Format timestampaPrimjerTipična upotreba
Sekunde (s)1700000000baze podataka, backend, API, datoteke
Milisekunde (ms)1700000000000JavaScript (Date.now()), analitika, detaljni logovi

Kako znati šta imate?

  • Sekunde obično imaju 10 cifara za „današnje“ datume.
  • Milisekunde obično imaju 13 cifara i otprilike su 1000 puta veće.
  • Orijentaciono: ako je vrijednost > 10¹², skoro sigurno se radi o milisekundama.

Kako koristiti UNIX timestamp konverter

1) Timestamp → Datum i vrijeme

  1. Umetnite UNIX timestamp u polje ili kliknite na Sada (trenutno UNIX vrijeme).
  2. Ako je timestamp u milisekundama, aktivirajte opciju Milisekunde.
  3. Kliknite na Pretvori (ili pritisnite Enter).
  4. Prikazat će se pretvorba u lokalno vrijeme, UTC i ISO 8601.
  5. Klikom na rezultat kopirate ga u međuspremnik.

2) Datum i vrijeme → Timestamp

  1. Odaberite datum i vrijeme u obrascu.
  2. Kliknite na Pretvori.
  3. Rezultat ćete dobiti kao timestamp u sekundama i milisekundama.

Gdje se UNIX timestamp najčešće koristi?

UNIX vrijeme ćete susresti praktično svugdje gdje se radi sa vremenom u IT-u:

  • Baze podataka – pohranjivanje vremena i poređenje u MySQL, PostgreSQL, SQLite itd.
  • API – REST/GraphQL često vraća vrijeme kao timestamp (laka serijalizacija).
  • Logovi i nadzor – precizno sortiranje događaja po vremenu.
  • Git – commiti sadrže vremenske podatke.
  • Sistemi datoteka – vremena kao mtime/ctime/atime (posljednja izmjena itd.).
  • JWTiat (issued at) i exp (expires) claimovi su tipično u epoch sekundama.
  • Linux/Unix shelldate +%s vraća trenutni timestamp.
  • JavaScriptDate.now() vraća vrijeme u milisekundama.

Praktični primjeri pretvaranja UNIX vremena

JavaScript (timestamp ↔ datum)

// Trenutni UNIX timestamp u sekundama
const tsSeconds = Math.floor(Date.now() / 1000);

// Trenutni timestamp u milisekundama
const tsMs = Date.now();

// Timestamp (s) -> datum
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());

// Datum -> timestamp (s)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);

Python (timestamp ↔ datetime)

import time
from datetime import datetime, timezone

# Trenutni timestamp u sekundama
ts = int(time.time());

# Timestamp -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)

# Datum -> timestamp
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())

SQL (MySQL)

-- Trenutni UNIX timestamp (s)
SELECT UNIX_TIMESTAMP();

-- Timestamp -> datum
SELECT FROM_UNIXTIME(1700000000);

-- Datum -> timestamp
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Vremenske zone: UTC, lokalno vrijeme i ISO 8601

UNIX timestamp je uvijek u UTC – ne sadrži informaciju o vremenskoj zoni niti o ljetnom računanju vremena. Pretvorba u lokalno vrijeme zavisi od postavki preglednika, servera ili korištene biblioteke.

Pojmovi koje je korisno znati:

  • UTC – globalni standard bez ljetnog/zimskog vremena.
  • GMT – za uobičajenu upotrebu praktično identično sa UTC.
  • Offset – pomak u odnosu na UTC (npr. Sarajevo UTC+1 zimi, UTC+2 ljeti).

Ograničenja UNIX timestampa i Problem 2038. godine

Problem 2038. godine (Year 2038 Problem)

Na nekim 32-bitnim sistemima timestamp se pohranjuje kao int32 sa maksimumom od 2 147 483 647, što odgovara 19. januaru 2038. 03:14:07 UTC. Nakon prekoračenja može doći do prelijevanja i pogrešnog vremena. Moderni 64-bitni sistemi obično nemaju ovaj problem.

Raspon 64-bitnog UNIX vremena

64-bitne vrijednosti pokrivaju izuzetno širok period (u praksi „zauvijek“). Negativne vrijednosti znače datum prije 1. 1. 1970.


FAQ – česta pitanja o UNIX timestampu

Da li je UNIX timestamp u UTC ili u lokalnom vremenu? UNIX timestamp je uvijek u UTC. Lokalno vrijeme nastaje tek pri pretvaranju, u zavisnosti od vremenske zone. Konverter stoga obično prikazuje i UTC i lokalno vrijeme.
Kako prepoznati da li je timestamp u sekundama ili milisekundama? Za trenutno vrijeme, timestamp u sekundama obično ima 10 cifara. U milisekundama obično ima 13 cifara i otprilike je 1000 puta veći. Orijentaciono: vrijednost > 10¹² su obično milisekunde.
Šta znači negativan UNIX timestamp? Negativan timestamp predstavlja datum prije 1. 1. 1970.. Naprimjer, -1 odgovara 31. 12. 1969. 23:59:59 UTC.
Kako pretvoriti UNIX timestamp u SQL-u? U MySQL-u koristite FROM_UNIXTIME(timestamp) i nazad UNIX_TIMESTAMP(datum). U PostgreSQL-u je to tipično TO_TIMESTAMP(timestamp) i EXTRACT(EPOCH FROM datum).
Zašto UNIX epoha počinje 1. januara 1970.? To je historijski odabrana referentna tačka iz ranih dana UNIX-a: jednostavna, praktična i blizu vremena razvoja sistema.