Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас

Unix timestamp

Перевести мітку часу в дату і навпаки

Дані не залишають ваш браузер

Цей інструмент повністю працює на вашому пристрої: обчислення виконує JavaScript у вкладці. Ми не надсилаємо введений текст на сервер, не зберігаємо і не логуємо його. Можете сміливо працювати з робочими даними - і навіть відключити інтернет після завантаження сторінки.

Київ
UTC
Мілісекунди
Відносно зараз

Поділитись

Що таке Unix timestamp

Кількість секунд, що минули з опівночі 1 січня 1970 року за UTC. Одне ціле число, яке не залежить від часового поясу, формату дати чи мови - тому воно й стало універсальним способом зберігати момент часу.

Секунди чи мілісекунди

Найчастіша плутанина. PHP працює в секундах (10 цифр), JavaScript - у мілісекундах (13 цифр). Число, помилково взяте не в тих одиницях, дає дату в 1970 році або десь у 55 тисячолітті.

time();              // 1757116800     - секунди
now()->timestamp;    // 1757116800     - секунди
now()->getTimestampMs();  // 1757116800000 - мілісекунди

Інструмент вище розпізнає обидва варіанти за довжиною числа.

Проблема 2038 року

На 32-бітних системах timestamp зберігався у знаковому 32-бітному цілому, яке переповниться 19 січня 2038 року. Сучасний PHP на 64-бітній системі цим не страждає, але старі бази з полем int - цілком: TIMESTAMP у MySQL має ту саму межу, на відміну від DATETIME.

Часові пояси

Сам timestamp поясу не має - це просто число. Пояс з'являється лише при відображенні. Класична помилка - зберігати локальний час і згодом не розуміти, у якому поясі його записали.

Правило: зберігайте в UTC, показуйте в поясі користувача.

// config/app.php - весь застосунок працює в одному поясі
'timezone' => 'Europe/Kyiv',

Українське літній/зимовий час робить різницю з UTC змінною: +2 взимку, +3 влітку. Для розкладів це головна пастка - див. cron-вирази. Тому арифметика на кшталт «додати 3 години» ненадійна - користуйтеся Carbon, який знає правила переходів.

Carbon у Laravel

// З timestamp і назад
$date = Carbon::createFromTimestamp(1757116800);
$date->timestamp;

// Розбір і форматування
Carbon::parse('2026-09-06 22:00')->format('d.m.Y H:i');

// Пояси
now()->setTimezone('UTC');
now('Europe/Kyiv');
// Відносний час українською - Carbon локалізований
$post->created_at->diffForHumans();   // «3 години тому»
// Порівняння і межі
$vacancy->created_at->isToday();
Order::whereBetween('created_at', [now()->startOfMonth(), now()->endOfMonth()])->get();
// Фіксований час у тестах - інакше тести «мигають» на межі доби
Carbon::setTestNow('2026-09-06 12:00:00');

Останнє варте окремої уваги: тест, який працює вдень і падає опівночі, майже завжди означає порівняння з now() без фіксації часу.