UNIX Timestamp Konverter (Online Pretvarač Vremena)
Trenutna UNIX vremenska oznaka
Vremenska oznaka → Datum i vrijeme
Datum i vrijeme → Vremenska oznaka
UNIX Pretvarač Vremenskih Oznaka (Online Pretvarač UNIX Vremena)
Ovaj UNIX pretvarač vremenskih oznaka omogućuje vam brzu konverziju UNIX vremena (epoch time / POSIX time) u datum i vrijeme i obrnuto. Podržava vremenske oznake u sekundama i milisekundama, prikazuje lokalno vrijeme, UTC i ISO 8601, a rezultati se mogu kopirati jednim klikom.
Što je UNIX vremenska oznaka (epoch time / POSIX time)?
UNIX vremenska oznaka je broj koji izražava vrijeme kao broj sekundi od 1. siječnja 1970. 00:00:00 UTC (tzv. UNIX epoha). U praksi je to jedan od najčešće korištenih formata za pohranu i prijenos datuma i vremena u sustavima, bazama podataka, API-jima i zapisnicima (logovima).
Primjer: 1700000000 odgovara datumu 14. studenog 2023. 22:13:20 UTC.
Zašto baš 1. 1. 1970.?
Početak epohe (1970-01-01) odabran je prilikom dizajniranja UNIX-a kao praktična referentna točka: blizu je razdoblja nastanka sustava i omogućuje jednostavne izračune vremena.
UNIX vremenska oznaka u sekundama vs. milisekundama
UNIX vremenska oznaka se najčešće pojavljuje u dva oblika:
| Format vremenske oznake | Primjer | Tipična upotreba |
|---|---|---|
| Sekunde (s) | 1700000000 | baze podataka, pozadina, API, datoteke |
| Milisekunde (ms) | 1700000000000 | JavaScript (Date.now()), analitika, detaljni zapisi |
Kako prepoznati što imate?
- Sekunde obično imaju 10 znamenki za „današnje“ datume.
- Milisekunde obično imaju 13 znamenki i otprilike su 1000 puta veće.
- Orijentacijski: ako je vrijednost > 10¹², gotovo sigurno se radi o milisekundama.
Kako koristiti UNIX pretvarač vremenskih oznaka
1) Vremenska oznaka → Datum i vrijeme
- Unesite UNIX vremensku oznaku u polje ili kliknite na Sada (trenutno UNIX vrijeme).
- Ako je vremenska oznaka u milisekundama, aktivirajte opciju Milisekunde.
- Kliknite na Pretvori (ili pritisnite Enter).
- Prikazat će se konverzija u lokalno vrijeme, UTC i ISO 8601.
- Klikom na rezultat kopirat ćete ga u međuspremnik.
2) Datum i vrijeme → Vremenska oznaka
- Odaberite datum i vrijeme u obrascu.
- Kliknite na Pretvori.
- Rezultat ćete dobiti kao vremensku oznaku u sekundama i milisekundama.
Gdje se UNIX vremenska oznaka najčešće koristi?
UNIX vrijeme susrest ćete praktično svugdje gdje se radi s vremenom u IT-u:
- Baze podataka – pohrana vremena i usporedba u MySQL, PostgreSQL, SQLite itd.
- API – REST/GraphQL često vraća vrijeme kao vremensku oznaku (jednostavna serijalizacija).
- Zapisi (Logovi) i praćenje – precizno sortiranje događaja po vremenu.
- Git – commitovi sadrže vremenske podatke.
- Datotečni sustavi – vremena kao mtime/ctime/atime (posljednja izmjena itd.).
- JWT – claimovi
iat(issued at) iexp(expires) su tipično u epoch sekundama. - Linux/Unix shell –
date +%svraća trenutnu vremensku oznaku. - JavaScript –
Date.now()vraća vrijeme u milisekundama.
Praktični primjeri pretvorbe UNIX vremena
JavaScript (vremenska oznaka ↔ datum)
// Trenutna UNIX vremenska oznaka u sekundama
const tsSeconds = Math.floor(Date.now() / 1000);
// Trenutna vremenska oznaka u milisekundama
const tsMs = Date.now();
// Vremenska oznaka (s) -> datum
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());
// Datum -> vremenska oznaka (s)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);
Python (vremenska oznaka ↔ datetime)
import time
from datetime import datetime, timezone
# Trenutna vremenska oznaka u sekundama
ts = int(time.time())
# Vremenska oznaka -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)
# Datum -> vremenska oznaka
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())
SQL (MySQL)
-- Trenutna UNIX vremenska oznaka (s)
SELECT UNIX_TIMESTAMP();
-- Vremenska oznaka -> datum
SELECT FROM_UNIXTIME(1700000000);
-- Datum -> vremenska oznaka
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');
Vremenske zone: UTC, lokalno vrijeme i ISO 8601
UNIX vremenska oznaka je uvijek u UTC – ne sadrži informaciju o vremenskoj zoni niti o ljetnom vremenu. Konverzija u lokalno vrijeme ovisi o postavkama preglednika, poslužitelja ili korištene biblioteke.
Pojmovi koje je korisno znati:
- UTC – globalni standard bez ljetnog/zimskog računanja vremena.
- GMT – za uobičajenu upotrebu praktički identičan UTC-u.
- Offset – pomak u odnosu na UTC (npr. Zagreb UTC+1 zimi, UTC+2 ljeti).
Ograničenja UNIX vremenske oznake i problem 2038. godine
Problem 2038. godine (Year 2038 Problem)
Na nekim 32-bitnim sustavima vremenska oznaka se pohranjuje kao int32 s maksimumom od 2 147 483 647, što odgovara 19. siječnju 2038. 03:14:07 UTC. Nakon prekoračenja, može doći do prelijevanja (overflow) i pogrešnog vremena. Moderni 64-bitni sustavi obično nemaju ovaj problem.
Raspon 64-bitnog UNIX vremena
64-bitne vrijednosti pokrivaju iznimno široko razdoblje (u praksi „zauvijek“). Negativne vrijednosti označavaju datum prije 1. 1. 1970.
ČPP – Često postavljana pitanja o UNIX vremenskoj oznaci
Je li UNIX vremenska oznaka u UTC-u ili lokalnom vremenu?
UNIX vremenska oznaka je uvijek u UTC-u. Lokalno vrijeme nastaje tek prilikom konverzije prema vremenskoj zoni. Stoga pretvarač obično prikazuje i UTC i lokalno vrijeme.Kako prepoznati je li vremenska oznaka u sekundama ili milisekundama?
Za trenutno vrijeme, vremenska oznaka u sekundama tipično ima 10 znamenki. U milisekundama obično ima 13 znamenki i otprilike je 1000 puta veća. Orijentacijski: vrijednost > 10¹² obično su milisekunde.Što znači negativna UNIX vremenska oznaka?
Negativna vremenska oznaka predstavlja datum prije 1. 1. 1970. Na primjer,-1 odgovara 31. 12. 1969. 23:59:59 UTC.
Kako pretvoriti UNIX vremensku oznaku u SQL-u?
U MySQL-u ćete koristitiFROM_UNIXTIME(timestamp) i obrnuto UNIX_TIMESTAMP(datum). U PostgreSQL-u je to tipično TO_TIMESTAMP(timestamp) i EXTRACT(EPOCH FROM datum).