Код Senior Реализация с нуля обновлено
Относительное время
Условие
timeAgo(date, now): «только что», «5 минут назад», «2 часа назад», «вчера», «3 дня назад», иначе дата в формате ДД.ММ.ГГГГ. Склонение правильное.
Что проверяют тесты
только что
минуты со склонением
часы
вчера и дни
дальше недели - дата
Как подойти
Задача на аккуратность, а не на алгоритм. Лестница с ранними возвратами читается линейно и не даёт перепутать порядок. Склонение вынесено, потому что иначе три копии одного правила разъедутся. В проекте это Intl.RelativeTimeFormat, который знает правила всех локалей - назови его как правильный промышленный ответ.
Подсказки: 3
- Лестница порогов от меньшего к большему, каждый с ранним возвратом.
- Склонение вынеси отдельной функцией - оно повторяется трижды.
- Не забудь ведущие нули и месяц с единицы в конечном формате.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.