【问题标题】:How does Moment JS reads locale/languageMoment JS 如何读取语言环境/语言
【发布时间】:2018-04-10 07:56:33
【问题描述】:

我需要以本地化格式显示日期,所以我使用了

moment().format('l');

Moment JS的功能https://momentjs.com/#multiple-locale-support

在不同的系统/浏览器中无法正常工作

问题的根本原因是 Moment 将当前语言环境读取为“en”,即使环境是法国(“fr”)

console.log('moment lang: '+moment.lang());
console.log('userLanguage: '+window.navigator.userLanguage);
console.log('language: '+window.navigator.language);

产生的结果:

moment lang: en
userLanguage: fr-FR
language: fr-FR

如果我明确设置,Moment 将给出正确的语言环境格式日期

moment().locale(window.navigator.userLanguage||window.navigator.language);

我真的需要在 Moment 中明确设置语言环境还是我做错了什么?

关于重复问题问题的说明:问题是 Momentjs 如何读取语言环境。

【问题讨论】:

标签: javascript momentjs


【解决方案1】:

是的,您已经使用moment.locale 设置了所需的语言环境:

默认情况下,Moment.js 带有英语(美国)语言环境字符串。如果您需要其他语言环境,可以将它们加载到 Moment.js 中以供以后使用。

要加载语言环境,请将键和字符串值传递给 moment.locale

一旦您加载了一个语言环境,它就会成为活动的语言环境。要更改活动区域设置,只需使用已加载区域设置的键调用 moment.locale

请注意 tha lang 在 2.8.1 中已弃用

// Deprecated in 2.8.1
moment.lang(String);

【讨论】:

    猜你喜欢
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多