web_Developer_Victor
@web_Developer_Victor
Что такое google?

Есть ли готовое решение для форматирование даты?

Привет. Есть вопрос. Мне с сервера прилетает дата (100% в прошлом). Мне нужно указать сколько минут (часов/дней/месяцев/годов) назад это было. Например, 2021-02-24T12:08:22.354Z => 6 часов назад (на момент написание вопроса)

Есть такой код
const formatDate = (strDate)=> {
  const date = new Date(strDate);
  const now = new Date();

  const dateDifference = (+now) - (+date);

  // less than an hour ago
  if (dateDifference < 60 * 60 * 1000) {
    return `${Math.floor(dateDifference / 60 / 1000)} минут назад`;
  }

  // less than a day
  if (dateDifference < 24 * 60 * 60 * 1000) {
    return `${Math.floor(dateDifference / 60 / 60 / 1000)} часов назад`;
  }

  // less than a month
  // less than a year

  // more than a year
  return '(подсчитать)';
};


И вроде все хорошо, но нужно еще учесть множество падежей (1 минута, 2 минуты, 5 минут, 51 минута, 11 минут + часы + дни и т.д.). Есть ли какие-то готовые решение, потому что не очень хочется делать это вручную.

P.S. да, я знаю, что код выше можно написать короче, это, чтобы было более наглядно и понятно
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы