我正在尝试使用 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
但是时间格式不正确。我希望时间在每个数字后面都有适当的汉字。我查看了 moment-with-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) 中指定了这些字符,它们也不会及时返回。我做错了什么吗?谢谢!
最佳答案
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
解释为单独的代码而不引入其他字符。
关于javascript - Moment.js ZH_CN 语言环境的格式时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34727095/