UNIX Timestamp Конвертор (онлайн преобразувател на UNIX време)
Текущ UNIX timestamp
Timestamp → Дата и час
Дата и час → Timestamp
UNIX Timestamp Конвертор (онлайн преобразувател на UNIX време)
Този UNIX timestamp конвертор ви позволява бързо да преобразувате UNIX време (epoch time / POSIX time) в дата и час и обратно. Поддържа timestamp в секунди и милисекунди, показва местно време, UTC и ISO 8601, а резултатите могат да бъдат копирани с едно кликване.
Какво е UNIX timestamp (epoch time / POSIX time)?
UNIX timestamp е число, което изразява времето като брой секунди от 1 януари 1970 г., 00:00:00 UTC (т.нар. UNIX epoch). На практика това е един от най-използваните формати за съхранение и прехвърляне на дата и час в системи, бази данни, API и регистриране.
Пример: 1700000000 съответства на дата 14 ноември 2023 г. 22:13:20 UTC.
Защо точно 1 януари 1970 г.?
Началото на епохата (1970-01-01) е избрано при проектирането на UNIX като практическа референтна точка: то е близо до периода на създаване на системата и позволява прости изчисления на времето.
UNIX timestamp в секунди срещу милисекунди
UNIX timestamp най-често се среща в две форми:
| Формат на timestamp | Пример | Типична употреба |
|---|---|---|
| Секунди (s) | 1700000000 | бази данни, бекенд, API, файлове |
| Милисекунди (ms) | 1700000000000 | JavaScript (Date.now()), анализи, подробни логове |
Как да разберете какво имате?
- Секундите за „днешни“ дати обикновено имат 10 цифри.
- Милисекундите обикновено имат 13 цифри и са приблизително 1000 пъти по-големи.
- Ориентировъчно: ако стойността е > 10¹², почти сигурно става въпрос за милисекунди.
Как да използвате UNIX timestamp конвертора
1) Timestamp → Дата и час
- Въведете UNIX timestamp в полето или кликнете върху Сега (текущ UNIX час).
- Ако timestamp е в милисекунди, активирайте опцията Милисекунди.
- Кликнете върху Конвертирай (или натиснете Enter).
- Ще се покаже преобразуването в местно време, UTC и ISO 8601.
- Кликнете върху резултата, за да го копирате в клипборда.
2) Дата и час → Timestamp
- Изберете дата и час във формата.
- Кликнете върху Конвертирай.
- Ще получите резултата като timestamp в секунди и милисекунди.
Къде се използва UNIX timestamp най-често?
UNIX времето се среща практически навсякъде, където се работи с време в ИТ:
- Бази данни – съхранение и сравнение на времена в MySQL, PostgreSQL, SQLite и др.
- API – REST/GraphQL често връщат времето като timestamp (лесна сериализация).
- Логове и мониторинг – точно подреждане на събития във времето.
- Git – коммитите съдържат времеви данни.
- Файлови системи – времена като mtime/ctime/atime (последна промяна и др.).
- JWT –
iat(issued at) иexp(expires) са типично в епохови секунди. - Linux/Unix shell –
date +%sвръща текущия timestamp. - JavaScript –
Date.now()връща времето в милисекунди.
Практически примери за преобразуване на UNIX време
JavaScript (timestamp ↔ дата)
// Текущ UNIX timestamp в секунди
const tsSeconds = Math.floor(Date.now() / 1000);
// Текущ timestamp в милисекунди
const tsMs = Date.now();
// Timestamp (s) -> дата
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());
// Дата -> 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
# Текущ timestamp в секунди
ts = int(time.time())
# Timestamp -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)
# Дата -> timestamp
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())
SQL (MySQL)
-- Текущ UNIX timestamp (s)
SELECT UNIX_TIMESTAMP();
-- Timestamp -> дата
SELECT FROM_UNIXTIME(1700000000);
-- Дата -> timestamp
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');
Часови зони: UTC, местно време и ISO 8601
UNIX timestamp винаги е в UTC – не съдържа информация за часова зона или лятно часово време. Преобразуването в местно време зависи от настройките на браузъра, сървъра или използваната библиотека.
Понятия, които е добре да се знаят:
- UTC – глобален стандарт без лятно/зимно часово време.
- GMT – за обикновена употреба е практически идентично с UTC.
- Отместване – изместване спрямо UTC (например, София UTC+2 през зимата, UTC+3 през лятото).
Ограничения на UNIX timestamp и Проблемът от 2038 година
Проблемът от 2038 година (Year 2038 Problem)
На някои 32-битови системи timestamp се съхранява като int32 с максимум 2 147 483 647, което съответства на 19 януари 2038 г. 03:14:07 UTC. При превишаване може да възникне препълване и неправилно време. Модерните 64-битови системи обикновено нямат този проблем.
Обхват на 64-битовото UNIX време
64-битовите стойности покриват изключително широк период (на практика „завинаги“). Отрицателните стойности означават дата преди 1 януари 1970 г.
ЧЗВ – често задавани въпроси за UNIX timestamp
UNIX timestamp в UTC ли е, или в местно време?
UNIX timestamp винаги е в UTC. Местното време възниква само при преобразуване според часовата зона. Ето защо конверторът обикновено показва UTC и местното време.Как да разбера дали timestamp е в секунди или милисекунди?
За текущия момент timestamp в секунди типично има 10 цифри. В милисекунди има 13 цифри и е приблизително 1000 пъти по-голям. Ориентировъчно: стойност > 10¹² обикновено е милисекунди.Какво означава отрицателен UNIX timestamp?
Отрицателен timestamp представлява дата преди 1 януари 1970 г.. Например-1 съответства на 31 декември 1969 г. 23:59:59 UTC.
Как да преобразувам UNIX timestamp в SQL?
В MySQL използватеFROM_UNIXTIME(timestamp) и обратно UNIX_TIMESTAMP(дата). В PostgreSQL обикновено е TO_TIMESTAMP(timestamp) и EXTRACT(EPOCH FROM дата).