·4 мин. чтения

Конвертер Unix-таймстампов для Mac

Строка лога гласит 1743984000, и вам нужно понять, было это три часа назад или три недели назад, не считая в уме.

Unix-таймстампы идеальны для машин и бесполезны для людей. Кажется, каждый агрегатор логов, запись в базе данных и ответ API хранят время как сырое целое число секунд с 1 января 1970 года, и каждый разработчик хоть раз пытался прикинуть на глаз, свежий 1725580800 или древний.

Обычный запасной вариант — быстрый поиск в Google, «1725580800 to date», — который работает, но добавляет поход в браузер ради того, что должно занимать две секунды. Или вы пишете однострочник в консоли языка: new Date(1725580800000) в консоли JS браузера, вспоминая, что нужно умножить на 1000 для миллисекунд, и надеясь, что изначально не перепутали секунды с миллисекундами.

Секунды против миллисекунд: классическая ловушка

Unix-время обычно измеряется в секундах, но объект Date в JavaScript ожидает миллисекунды, а некоторые API (особенно построенные на JavaScript) по умолчанию возвращают таймстампы в миллисекундах. Перепутав это, вы получите дату, которая либо дико далеко в будущем, либо застряла около эпохи 1970 года — ошибка, которую хоть раз совершал каждый разработчик, отлаживая проблему «почему эта дата выглядит неправильно».

Часовые пояса добавляют ещё один слой сложности. Таймстамп конвертируется в конкретный момент времени, но отображение его в вашем локальном времени, в UTC или во времени сервера может заставить одно и то же значение выглядеть как три совершенно разных времени, что имеет большое значение, когда вы пытаетесь сопоставить ошибку с деплоем.

Конвертируйте в обе стороны мгновенно

Bellows включает конвертер таймстампов, который превращает Unix-таймстамп в читаемую дату и время и конвертирует дату обратно в таймстамп — в обе стороны, без вычислений вручную. Он сам разбирается с неоднозначностью секунд и миллисекунд, так что вам не нужно гадать.

Bellows Unix timestamp converter showing date and time output on macOS

Отладка логов и баз данных

Агрегаторы логов, строки базы данных и payload API хранят время в виде сырых чисел гораздо чаще, чем в виде читаемых строк. Конвертация нескольких таймстампов при отслеживании инцидента — небольшая задача, которая случается десятки раз за любую серьёзную сессию отладки.

Планирование и логика истечения срока

Истечение срока кеша, истечение токена и таймстампы запланированных задач — всё это Unix-время под капотом. Быстрая проверка того, чему на самом деле соответствует данное значение истечения срока в реальном времени, помогает убедиться, что ваша логика TTL делает то, что вы думаете.

Получить Bellows в Mac App Store

Следующая статья

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store