2016-01-11 6 views
1

Я пытаюсь отформатировать дату с помощью момента .js, используя локаль ZH_CN. Я использую следующий код:Moment.js Формат времени для ZH_CN locale

moment('2013-12-31T13:21:55+00:00').locale('zh_cn').format("LL h:m:s:SSS") 

Это возвращает следующую дату: 2013 年 12 月 31 日 1: 21: 55: 000

Время не правильно отформатированный однако. Я надеялся, что время будет иметь appropraite китайских символов после каждого digit.I выглядел в момент-с-locales.js и заметил, что следующий определяются для ZH_CN местности:

relativeTime : { 
     future : '%s内', 
     past : '%s前', 
     s : '几秒', 
     m : '1分', 
     mm : '%d分', 
     h : '1小时', 
     hh : '%d小时', 
     d : '1天', 
     dd : '%d天', 
     M : '1个月', 
     MM : '%d个月', 
     y : '1年', 
     yy : '%d年' 
    } 

Этих символы не получает возвращенную в то время, хотя я указываю их в строке формата (h: m: s: sss). Все, что я делаю неправильно? Благодаря!

ответ

0

Настройка relativeTime влияет только на функции, которые производят относительный выходной сигнал времени, например fromNow.

Кроме того, только указанные в локализованном формате спецификаторы, такие как LL, будут содержать символы, которые вы ищете. Вы можете комбинировать их для получения желаемого результата.

var m = moment('2013-12-31T13:21:55+00:00').locale('zh_cn'); 

m.format("LL")  // "2013年12月31日" 
m.format("LLL")  // "2013年12月31日凌晨5点21分" 
m.format("LT")  // "凌晨5点21分" 
m.format("LTS")  // "凌晨5点21分55秒" 
m.format("LL[]LTS") // "2013年12月31日凌晨5点21分55秒" 

Я считаю, что последний соответствует вашим потребностям. Обратите внимание, что использование [] необходимо только для того, чтобы LL и LTS интерпретировались как отдельные коды без ввода дополнительных символов.

Смежные вопросы