Moment JS如何读取语言环境/语言

时间:2018-04-10 07:56:34

标签: javascript momentjs

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

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如何读取区域设置。

1 个答案:

答案 0 :(得分:1)

是的,您已使用moment.locale设置了所需的区域设置:

  

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

     

要加载区域设置,请将密钥和字符串值传递给moment.locale

     

加载语言环境后,它将成为活动的语言环境。要更改活动区域设置,只需使用加载区域设置的键调用moment.locale

请注意,lang在2.8.1

中已弃用
// Deprecated in 2.8.1
moment.lang(String);