例如: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)