Конвертер Unix-времени
Двунаправленный инструмент для преобразования Unix/Linux-меток времени в дату и время, с поддержкой сравнения в нескольких часовых поясах.
Текущее время
Преобразовать временную метку в дату
Результат преобразования(автоматически)
Преобразовать дату в временную метку
Результат преобразования(автоматически)
Конвертер нескольких временных меток в дату и время
Конвертер нескольких временных меток в дату и время
Конвертер нескольких дат в временные метки
Конвертер нескольких дат в временные метки
Инструкция по использованию
Этот инструмент предназначен для быстрого двустороннего преобразования Unix - временных меток и дат в различных сценариях. Поддерживается точность в секундах и миллисекундах, а также можно выбрать целевой часовой пояс для сравнительного отображения. Предоставляются одиночные и множественные преобразователи. Преобразование происходит сразу при вводе данных, при смене часового пояса результаты автоматически обновляются. Также встроены недавние временные диапазоны и часто используемые временные интервалы, что удовлетворяет потребности разработки, отладки и повседневных расчетов.
Особенности инструмента
- Преобразование сразу при вводе, поддерживает автоматическое распознавание временных меток в секундах/миллисекундах
- Поддерживает выбор и отображение глобальных часовых поясов: местный, UTC, выбранный часовой пояс - три вида представления
- Множественные преобразовательные карточки для удобного массового сравнения
- Адаптивный интерфейс и удобство работы с клавиатурой, хорошая доступность
- Встроены недавние временные диапазоны и часто используемые временные интервалы, можно скопировать и использовать сразу
Что такое временная метка?
Unix - временная метка (Unix Timestamp) представляет собой общее количество секунд или миллисекунд, прошедших с 00:00:00 UTC 1 января 1970 года (Unix Epoch).
Временная метка - это числовое представление времени, обычно измеряемое в секундах или миллисекундах.
Начальная точка временной метки - 00:00:00 UTC 1 января 1970 года, это время называется Unix - эпоха.
Временные метки изначально использовались в операционной системе Unix, поэтому их часто называют Unix - временными метками.
Временные метки широко используются в программировании и сетевом взаимодействии, особенно в веб - разработке.
Общие уровни точности: секунды (например, 1735689600) и миллисекунды (например, 1735689600000). При представлении даты и времени, связанных с часовым поясом, требуется форматирование с учетом часового пояса.
Распространенные временные метки (продолжительность)
Проблема 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 - битные временные метки или библиотеки времени, поддерживающие большой диапазон дат.
Как получить/преобразовать временную метку с помощью языков программирования
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
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())
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()
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();
-- 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');