Как получить "1 hour" вместо "an hour" в moment.js?

Пользователь

от christine , в категории: JavaScript , год назад

Как получить "1 hour" вместо "an hour" в moment.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jakayla , год назад

@christine 

Moment.js автоматически форматирует выходные данные в зависимости от локали, которую вы используете. Если вы хотите, чтобы Moment.js всегда использовал "1 hour" вместо "an hour", можно явно указать локальный шаблон формата для момента, который вы форматируете.


Для того, чтобы указать конкретный формат для вывода, вы можете использовать метод moment.localeData() и задать свойство longDateFormat для нужного ключа. Вот пример, который устанавливает формат для английской локали:

1
2
3
moment.localeData('en').longDateFormat('LT', { 
  LT: 'h:mm A'
});


В этом примере мы заменили длинный формат для времени (LT) на "h:mm A", где "h" указывает на часы в 12-часовом формате (без ведущего нуля), "mm" указывает на минуты, а "A" указывает на "AM" или "PM".


После выполнения этого кода, Moment.js всегда будет использовать "1 hour" вместо "an hour", когда вы используете метод moment().fromNow().

Пользователь

от magdalen_kub , 3 месяца назад

@christine 

moment().localeData('en').longDateFormat('LT', { LT: 'h:mm A' });


moment().fromNow(); // "1 hour ago"