Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Intl.RelativeTimeFormat

Форматирует относительное время: «3 дня назад», «через час».

Доступно с: ES2020

Синтаксис

new Intl.RelativeTimeFormat(locales, options)

Параметры

ПараметрТипОписание
localesstringНеобязательный. Язык и регион.
optionsobjectНеобязательный. numeric: always или auto; style: long, short, narrow.

Возвращаемое значение

Intl.RelativeTimeFormatОбъект с методом format(value, unit).

Примеры

Прошлое и будущее:

const rtf = new Intl.RelativeTimeFormat('en', { numeric: 'auto' });
 
console.log(rtf.format(-3, 'day'));
console.log(rtf.format(1, 'day'));
console.log(rtf.format(2, 'hour'));

Результат:

3 days ago
tomorrow
in 2 hours

Другой язык:

const rtf = new Intl.RelativeTimeFormat('de');
 
console.log(rtf.format(-5, 'minute'));

Результат:

vor 5 Minuten

Примечания

Форматтер не вычисляет разницу сам: число и единицу (second, minute, hour, day, week, month, year) нужно посчитать заранее. Опция numeric: 'auto' даёт слова вроде yesterday вместо 1 day ago.

См. также

Вопросы и ответы по теме

В учебнике

  • Форматирование: Intl — Форматирование чисел, денег, дат и окончаний слов в JavaScript с учётом языка: toLocaleString, Intl.NumberFormat, Intl.DateTimeFormat и Intl.PluralRules.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.