Конвертер Unix-мітки часу

Інструмент для двостороннього перетворення Unix/Linux-міток часу в дату та час, з підтримкою порівняння в різних часових поясах.

Поточний час

Поточне позначення часу (у секундах)
1766507564
Поточний час
2025-12-23 16:32:44

Перетворити позначення часу на дату

Результат перетворення(автоматично)

Перетворити дату на позначення часу

Результат перетворення(автоматично)

Мультиконвертер позначень часу у дату та час

Мультиконвертер позначень часу у дату та час

Мультиконвертер дат у позначення часу

Мультиконвертер дат у позначення часу

Інструкція з використання

Цей інструмент призначений для швидкого двостороннього перетворення Unix-часового штампу та дати з часу в різних сценаріях. Він підтримує точність в секундах та мілісекундах і дозволяє обрати цільову часову зону для порівняльного відображення. Надаються одиничний та багатокартковий конвертери. Перетворення відбувається при введенні даних, при зміні часової зони результати автоматично оновлюються. Також вбудовані останні часові діапазони та поширені часові інтервали, що задовольняє потреби розробки, налагодження та звичайних розрахунків.

Автоматичне визначення: Інструмент автоматично розпізнає, чи введено секундний часовий штамп (10 символів) чи мілісекундний (13 символів).
Часова зона: Відображає місцевий час та UTC-час, що зручно для використання в різних часових зонах.

Особливості функцій інструменту

  • Перетворення відразу після введення, підтримка автоматичного розпізнавання секундного/мілісекундного часового штампу
  • Підтримка вибору та відображення глобальних часових зон: три види - місцева, UTC, вибрана часова зона
  • Багатокарткові конвертери для зручного порівняння у пакеті
  • Адаптивний інтерфейс та зручний для клавіатури, хорошая доступність
  • Вбудовані останні часові діапазони та поширені часові інтервали, готові до копіювання та використання

Що таке позначення часу Unix?

Unix-часовий штамп (Unix Timestamp) - це загальна кількість секунд або мілісекунд, що пройшли з 00:00:00 UTC (Unix Epoch) 1 січня 1970 року.

Часовий штамп - це числовий показник часу, зазвичай виражений у секундах або мілісекундах.

Початковою точкою для часового штампу є 00:00:00 UTC 1 січня 1970 року, цей час називається Unix-епохою.

Часові штампи спочатку використовувалися в операційній системі Unix, тому їх часто називають Unix-часовими штампами.

Часові штампи широко використовуються в програмуванні та мережевому спілкуванні, особливо в веб-розробці.

Поширені рівні точності: секунди (наприклад, 1735689600) та мілісекунди (наприклад, 1735689600000). При відображенні дати та часу, пов'язаних з часовою зоною, потрібно форматувати їх з урахуванням відповідної часової зони.

Останні позначення часу (за глобальним часовим поясом)

Поширені позначення часу (тривалості)

1 хвилина
60 Секунди
1 година
3600 Секунди
1 день
86400 Секунди
1 тиждень
604800 Секунди
1 місяць (за 30 днів)
2592000 Секунди
1 рік (за 365 днів)
31536000 Секунди

Проблема 2038 року для позначень часу

Проблема 2038 року стосується переповнення 32-бітового знакового цілого числа, яке зберігає Unix-часовий штамп (у секундах, починаючи з 00:00:00 UTC 1970-01-01) після 03:14:07 19 січня 2038 року.

Оскільки діапазон 32-бітового знакового цілого числа становить від -2 147 483 648 до 2 147 483 647, а часовий штамп на момент 03:14:07 UTC 19 січня 2038 року дорівнює 2 147 483 647, після цього моменту 32-бітове знакове ціле число не зможе представити наступні часові штампи.

Найчастіше це впливає на старі системи або програмне забезпечення, які використовують 32-бітове time_t. Сучасні системи зазвичай використовують 64 біт (наприклад, 64-бітове ціле число в мілісекундах), тому у них ця проблема відсутня.

Рекомендується використовувати 64-бітові часові штампи або бібліотеки часу, які підтримують великий діапазон дат.

Як отримати/перетворити позначення часу за допомогою мов програмування

JavaScript
Отримати поточне позначення часу
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
Позначення часу → Дата
new Date(1735689600 * 1000).toISOString();
Дата → Позначення часу
new Date('2025-01-01T00:00:00Z').getTime();
PHP
Отримати поточне позначення часу
time();                // seconds
intval(microtime(true) * 1000); // milliseconds
Позначення часу → Дата
date('Y-m-d H:i:s', 1735689600);
Дата → Позначення часу
strtotime('2025-01-01 00:00:00');
Python
Отримати поточне позначення часу
import time

int(time.time())        # seconds
int(time.time() * 1000) # milliseconds
Позначення часу → Дата
import datetime

datetime.datetime.utcfromtimestamp(1735689600).isoformat()
Дата → Позначення часу
import datetime

int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
Go
Отримати поточне позначення часу
import "time"

time.Now().Unix()      // seconds
time.Now().UnixMilli() // milliseconds
Позначення часу → Дата
import "time"

time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
Дата → Позначення часу
import "time"

ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
Rust
Отримати поточне позначення часу
use chrono::Utc;

let now = Utc::now();
let sec = now.timestamp();        // seconds i64
let ms  = now.timestamp_millis(); // milliseconds i128
Позначення часу → Дата
use chrono::{DateTime, NaiveDateTime, Utc};

let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
    .unwrap()
    .and_utc();
let iso = dt.to_rfc3339();
Дата → Позначення часу
use chrono::DateTime;

let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
    .unwrap()
    .timestamp();
SQL
Отримати поточне позначення часу
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;

-- SQLite
SELECT strftime('%s', 'now');
Позначення часу → Дата
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);

-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';

-- SQLite
SELECT datetime(1735689600, 'unixepoch');
Дата → Позначення часу
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;

-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');