UNIX Časovni Žig Pretvornik (Spletni Pretvorba Časa)

Trenutni UNIX časovni žig

Sekunde
Milisekunde

Časovni žig → Datum in čas


Datum in čas → Časovni žig

UNIX Časovni Žig Pretvornik (spletni pretvornik UNIX časa)

Ta UNIX časovni žig pretvornik vam omogoča hitro pretvorbo UNIX časa (epoch time / POSIX time) v datum in čas in obratno. Podpira časovne žige v sekundah in milisehundah, prikazuje lokalni čas, UTC in ISO 8601, rezultate pa lahko z enim klikom kopirate.


Kaj je UNIX časovni žig (epoch time / POSIX time)?

UNIX časovni žig je številka, ki izraža čas kot število sekund od 1. januarja 1970 00:00:00 UTC (t.i. UNIX epoha). V praksi je to eden najpogosteje uporabljenih formatov za shranjevanje in prenos datuma in časa v sistemih, bazah podatkov, API-jih in beleženju (logiranju).

Primer: 1700000000 ustreza datumu 14. novembra 2023 22:13:20 UTC.

Zakaj ravno 1. 1. 1970?

Začetek epohe (1970-01-01) je bil izbran pri zasnovi UNIXa kot praktična referenčna točka: je blizu obdobja nastanka sistema in omogoča preproste izračune časa.


UNIX časovni žig v sekundah vs. milisekundah

UNIX časovni žig se najpogosteje pojavlja v dveh oblikah:

Format časovnega žigaPrimerTipična uporaba
Sekunde (s)1700000000baze podatkov, backend, API, datoteke
Milisekunde (ms)1700000000000JavaScript (Date.now()), analitika, podrobni logi

Kako prepoznati, kaj imate?

  • Sekunde imajo pri „današnjih“ datumih običajno 10 številk.
  • Milisekunde imajo običajno 13 številk in so približno 1000× večje.
  • Orientacijsko: če je vrednost > 10¹², gre skoraj zagotovo za milisekunde.

Kako uporabljati UNIX časovni žig pretvornik

1) Časovni žig → Datum in čas

  1. Vnesite UNIX časovni žig v polje ali kliknite na Zdaj (trenutni UNIX čas).
  2. Če je časovni žig v milisekundah, aktivirajte možnost Milisekunde.
  3. Kliknite na Pretvori (ali pritisnite Enter).
  4. Prikazala se bo pretvorba v lokalni čas, UTC in ISO 8601.
  5. S klikom na rezultat ga kopirate v odložišče.

2) Datum in čas → Časovni žig

  1. Izberite datum in čas v obrazcu.
  2. Kliknite na Pretvori.
  3. Rezultat boste dobili kot časovni žig v sekundah in milisekundah.

Kje se UNIX časovni žig najpogosteje uporablja?

UNIX čas boste srečali praktično povsod, kjer se v IT dela s časom:

  • Baze podatkov – shranjevanje in primerjanje časov v MySQL, PostgreSQL, SQLite ipd.
  • API – REST/GraphQL pogosto vrača čas kot časovni žig (enostavna serializacija).
  • Logi in spremljanje – natančno razvrščanje dogodkov po času.
  • Git – commit-i vsebujejo časovne podatke.
  • Datotečni sistemi – časi kot so mtime/ctime/atime (zadnja sprememba ipd.).
  • JWT – zahtevki iat (izdan ob) in exp (poteče ob) so tipično v epoch sekundah.
  • Linux/Unix shelldate +%s vrača trenutni časovni žig.
  • JavaScriptDate.now() vrača čas v milisekundah.

Praktični primeri pretvorbe UNIX časa

JavaScript (časovni žig ↔ datum)

// Trenutni UNIX časovni žig v sekundah
const tsSeconds = Math.floor(Date.now() / 1000);

// Trenutni časovni žig v milisekundah
const tsMs = Date.now();

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

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

Python (časovni žig ↔ datetime)

import time
from datetime import datetime, timezone

# Trenutni časovni žig v sekundah
ts = int(time.time())

# Časovni žig -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)

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

SQL (MySQL)

-- Trenutni UNIX časovni žig (s)
SELECT UNIX_TIMESTAMP();

-- Časovni žig -> datum
SELECT FROM_UNIXTIME(1700000000);

-- Datum -> časovni žig
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Časovni pasovi: UTC, lokalni čas in ISO 8601

UNIX časovni žig je vedno v UTC – ne vsebuje informacij o časovnem pasu ali poletnem času. Pretvorba v lokalni čas je odvisna od nastavitev brskalnika, strežnika ali uporabljene knjižnice.

Pojmi, ki jih je dobro poznati:

  • UTC – globalni standard brez poletnega/zimskega časa.
  • GMT – za običajno uporabo praktično enak UTC.
  • Offset – odmik od UTC (npr. Praga UTC+1 pozimi, UTC+2 poleti).

Omejitve UNIX časovnega žiga in problem leta 2038

Problem leta 2038 (Year 2038 Problem)

Na nekaterih 32-bitnih sistemih se časovni žig shranjuje kot int32 z maksimumom 2 147 483 647, kar ustreza 19. januarju 2038 03:14:07 UTC. Po prekoračitvi lahko pride do prelivanja in napačnega časa. Sodobni 64-bitni sistemi te težave običajno nimajo.

Obseg 64-bitnega UNIX časa

64-bitne vrednosti pokrivajo izjemno široko obdobje (v praksi „za vedno“). Negativne vrednosti pomenijo datum pred 1. 1. 1970.


FAQ – pogosta vprašanja o UNIX časovnem žigu

Je UNIX časovni žig v UTC ali v lokalnem času? UNIX časovni žig je vedno v UTC. Lokalni čas nastane šele ob pretvorbi glede na časovni pas. Pretvornik zato običajno prikazuje UTC in lokalni čas.
Kako prepoznam, ali je časovni žig v sekundah ali milisekundah? Za sedanji čas ima časovni žig v sekundah tipično 10 številk. V milisekundah ima običajno 13 številk in je približno 1000× večji. Orientacijsko: vrednost > 10¹² je ponavadi milisekunde.
Kaj pomeni negativen UNIX časovni žig? Negativen časovni žig predstavlja datum pred 1. 1. 1970. Na primer -1 ustreza 31. 12. 1969 23:59:59 UTC.
Kako pretvoriti UNIX časovni žig v SQL? V MySQL uporabite FROM_UNIXTIME(timestamp) in nazaj UNIX_TIMESTAMP(datum). V PostgreSQL je to tipično TO_TIMESTAMP(timestamp) in EXTRACT(EPOCH FROM datum).
Zakaj se UNIX epoha začne 1. januarja 1970? To je zgodovinsko izbrana referenčna točka iz zgodnjih dni UNIXa: preprosta, praktična in blizu obdobja razvoja sistema.