我正在尝试使用ZH_CN语言环境使用moment.js格式化日期。我使用以下代码:
moment('2013-12-31T13:21:55+00:00').locale('zh_cn').format("LL h:m:s:SSS")
返回以下日期: 2013年12月31日1:21:55:000
但是时间格式不正确。我希望时间会在每个数字后都有适当的中文字符。我在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 :(得分: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
解释为单独的代码,而不会引入其他字符。