Код Senior Реализация с нуля обновлено

Относительное время

Условие

timeAgo(date, now): «только что», «5 минут назад», «2 часа назад», «вчера», «3 дня назад», иначе дата в формате ДД.ММ.ГГГГ. Склонение правильное.

Что проверяют тесты

  • только что

  • минуты со склонением

  • часы

  • вчера и дни

  • дальше недели - дата

Как подойти

Задача на аккуратность, а не на алгоритм. Лестница с ранними возвратами читается линейно и не даёт перепутать порядок. Склонение вынесено, потому что иначе три копии одного правила разъедутся. В проекте это Intl.RelativeTimeFormat, который знает правила всех локалей - назови его как правильный промышленный ответ.

Подсказки: 3
  1. Лестница порогов от меньшего к большему, каждый с ранним возвратом.
  2. Склонение вынеси отдельной функцией - оно повторяется трижды.
  3. Не забудь ведущие нули и месяц с единицы в конечном формате.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.