UNIX Časovni Žig Pretvornik (Spletni Pretvorba Časa)
Trenutni UNIX časovni žig
Č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 žiga | Primer | Tipična uporaba |
|---|---|---|
| Sekunde (s) | 1700000000 | baze podatkov, backend, API, datoteke |
| Milisekunde (ms) | 1700000000000 | JavaScript (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
- Vnesite UNIX časovni žig v polje ali kliknite na Zdaj (trenutni UNIX čas).
- Če je časovni žig v milisekundah, aktivirajte možnost Milisekunde.
- Kliknite na Pretvori (ali pritisnite Enter).
- Prikazala se bo pretvorba v lokalni čas, UTC in ISO 8601.
- S klikom na rezultat ga kopirate v odložišče.
2) Datum in čas → Časovni žig
- Izberite datum in čas v obrazcu.
- Kliknite na Pretvori.
- 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) inexp(poteče ob) so tipično v epoch sekundah. - Linux/Unix shell –
date +%svrača trenutni časovni žig. - JavaScript –
Date.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 uporabiteFROM_UNIXTIME(timestamp) in nazaj UNIX_TIMESTAMP(datum). V PostgreSQL je to tipično TO_TIMESTAMP(timestamp) in EXTRACT(EPOCH FROM datum).