javascript - Moment.js ZH_CN 语言环境的格式时间

标签 javascript localization momentjs

我正在尝试使用 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秒"

我相信最后一个可以满足您的需求。请注意,必须使用 [],以便将 LLLTS 解释为单独的代码而不引入其他字符。

关于javascript - Moment.js ZH_CN 语言环境的格式时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34727095/

相关文章:

javascript - 更改 Iron-List 中现有项目的绑定(bind)属性值

javascript - 为什么这张图片的分辨率比我的高?

Android 应用程序不再回退到默认值/strings.xml

ios - WatchKit:如何本地化系统提供的关闭按钮?

javascript - 如何获取 node-http-proxy 完成的每个代理请求的响应时间?

javascript - NodeJS SQL 在 for 循环中返回 'Cannot read property ' x' of undefined'

ios - 为什么 UIActivityViewController 不显示本地化的取消字符串?

javascript - 无法使 moment-timezone.js 工作

jquery - 如何在日期范围选择器中的日期单元格上添加自定义标题

datetime - Moment.js 时区转换 C# .NET