如何为moment.js全局设置语言

时间:2017-01-11 16:11:18

标签: momentjs

我得到的例子:1天前。我需要的是设置不同的语言,例如de。有什么建议怎么办?

moment(Date.now()).fromNow()

我试过了:

<script>
    var moment = moment();
    moment.locale('de');
</script>

但是收到错误:

  

时刻不是一个功能

4 个答案:

答案 0 :(得分:8)

请参阅有关如何changing locale globally的官方文档。

请注意,您必须导入区域设置数据(例如moment-with-locales.min.js

这是一个工作示例:

&#13;
&#13;
moment.locale('de');
console.log(moment(Date.now()).fromNow()); //vor ein paar Sekunden
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment-with-locales.min.js"></script>
&#13;
&#13;
&#13;

您也可以仅使用给定区域设置的数据(例如de):

&#13;
&#13;
moment.locale('de');
console.log(moment(Date.now()).fromNow()); //vor ein paar Sekunden
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/locale/de.js"></script>
&#13;
&#13;
&#13;

此外,您正在重新定义代码中的时刻,这是不正确的

var moment = moment();

答案 1 :(得分:1)

您可以像这样全局更改时刻的区域设置:

import moment from 'moment';
import localization from 'moment/locale/fr';

moment.locale('fr', localization);

希望对您有帮助。

答案 2 :(得分:1)

例如,我想使用“ fa”语言环境

import moment from 'moment'
import fa from 'moment/locale/fa'

moment.locale('fa', fa) 

答案 3 :(得分:0)

要以Gapur的答案为基础,我是如何做到这一点(React native)的,

... other imports
import moment from "moment";
import russianLocale from "moment/locale/ru";
import englishLocale from "moment/locale/en-gb";
import chineseLocale from "moment/locale/zh-cn";

const Component = ({ ...props, language }) => {
  moment.locale(language);

... logic

// wherever 'moment' is used, it's displayed in 
// the language that is indicated by the language prop

... other logic

瞬间版本2.24.0