🧱 Суть

Частый сценарий во фронтенде:

API отдаёт время:

{
    dt: 1712563200
}

Нужно показать пользователю:

8 апреля

📦 Проблема

API часто возвращает дату в Unix timestamp:

1712563200

Но напрямую вывести её нельзя:

console.log(item.dt);

получим только число.

Нужно преобразовать.

✅ Решение

const formattedDate =
    new Intl.DateTimeFormat('ru-RU', {
        day: 'numeric',
        month: 'long'
    })
    .format(new Date(item.dt * 1000));

Результат:

8 апреля

💻 Код

new Date(item.dt * 1000)
    .toISOString()
    .split('T')[0];

1. Создание Date

new Date(item.dt * 1000)

Unix секунды переводятся в миллисекунды.

2. ISO формат

.toISOString()

Получаем:

2025-04-08T00:00:00.000Z

3. Убираем время

.split('T')[0]

Получаем:

2025-04-08

🎯 Вывод

Для API: Unix timestamp
Для логики: Date
Для пользователя: Intl.DateTimeFormat
Не стоит вручную резать строки через split, если нужна красивая дата.

🔗 Связано