如何全局设置语言.js



例如:1天前。我需要的是针对不同的语言进行设置,例如de.任何建议我该怎么做?

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

我试过这个:

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

但收到错误:

时刻不是一个函数

请参阅官方文档,了解如何全局更改区域设置。

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

这里有一个工作示例:

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

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

moment.locale('de');
console.log(moment(Date.now()).fromNow()); //vor ein paar Sekunden
<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>

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

var moment = moment();

编辑:在当前版本的 moment 中.js此解决方案仍然有效,但它会向控制台输出一条消息,指出您应该使用名为 updateLocale 的新方法。因此,新的解决方案应如下所示:

更新的解决方案

import moment from 'moment';
import localization from 'moment/locale/fr';
moment.updateLocale('fr', localization);

以前的解决方案

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

import moment from 'moment';
import localization from 'moment/locale/fr';
moment.locale('fr', localization);

我希望这对你有所帮助。

为了构建 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

例如我想

使用"fa"语言环境

import moment from 'moment'
import fa from 'moment/locale/fa'
moment.locale('fa', fa) 

最新更新