Вы можете настроить способ отображения чисел .fromNow
и .calendar
с использованием moment.updateLocale
. Следующий код изменит способ, которым .calendar
отображается как на вопрос:
moment.updateLocale('en', {
calendar : {
lastDay : '[Yesterday]',
sameDay : '[Today]',
nextDay : '[Tomorrow]',
lastWeek : '[Last] dddd',
nextWeek : '[Next] dddd',
sameElse : 'L'
}
});
Основываясь на вопрос, похоже, методом .calendar
будет более подходящим - .fromNow
хочет иметь прошлое/настоящее префикс/суффикс , но если вы хотите узнать больше, вы можете прочитать документацию по адресу http://momentjs.com/docs/#/customization/relative-time/.
Чтобы использовать эту функцию только в одном месте, а не перезаписывать локали, передать строку вашего выбора в качестве первого аргумента при определении moment.updateLocale
и затем вызвать метод календаря с помощью этого языкового стандарта (например. moment.updateLocale('yesterday-today').calendar(/* moment() or whatever */)
)
EDIT: Момент^2.12.0 теперь имеет метод updateLocale
. updateLocale
и locale
выглядят функционально одинаковыми, а locale
еще не устарел, но обновил ответ, чтобы использовать новый метод.
спасибо, но он по-прежнему не отображает «сегодня» и отображает ex. «1 день назад» вместо «вчера» - похоже, что функциональность, в которой я нуждаюсь, должна быть настраиваемой. – Ziarno
'from' на самом деле не имеет ежедневной точности. Например, если вчера было четыре часа назад, и я выбираю время, которое было пять часов назад, он будет говорить «5 часов назад» вместо вчерашнего. Это решение не имеет ничего общего с точностью 'from', но от дат, прошедших в. –