Я использую Moment.js в моем проекте и форматирование даты следующим образом:Locale и конкретный формат даты с Moment.js
var locale = window.navigator.userLanguage || window.navigator.language;
moment.locale(locale);
someDate.format("L");
Это работает хорошо, но иногда мне нужно показать дату без года. Я не могу использовать что-то вроде someDate.format("MM/DD")
, потому что на некоторых языках это должно быть someDate.format("DD/MM")
. Мне нужно что-то подумать, как L,LL,LLL
, но без года.
Что я могу сделать?
LTS : 'h:mm:ss A',
LT : 'h:mm A',
L : 'MM/DD/YYYY',
LL : 'MMMM D, YYYY',
LLL : 'MMMM D, YYYY LT',
LLLL : 'dddd, MMMM D, YYYY LT'
Я согласен с вами, похоже, что это единственный способ в настоящее время. Надеюсь, в будущем они добавят больше форматов. – Jekyll
Это не сработает в нескольких культурах. Возьмем португальский язык как пример: Полная дата будет: «14 de Fevereiro de 2016».Если вы просто удалите год, в этом случае «2016», вы получите: «14 de Fevereiro de», это неправильно. Правильный результат должен быть «14 de Fevereiro». По крайней мере, у испанцев есть одна и та же проблема (так что с этими двумя мы уже говорим о более чем 650 миллионах возможных пользователей, затронутых этой ошибкой). Я вижу, что другие языки будут иметь такую же проблему. – RGPT
RGPT - хороший момент, отредактировал сообщение, чтобы добавить это к оговоркам. В общем, этот подход подходит только тогда, когда вы изменяете короткий, числовой формат даты с предсказуемым разделителем. –