我得到的例子:1天前.我需要的是设置不同的语言,例如de.有什么建议怎么办?
moment(Date.now()).fromNow()
Run Code Online (Sandbox Code Playgroud)
我试过这个:
<script>
var moment = moment();
moment.locale('de');
</script>
Run Code Online (Sandbox Code Playgroud)
但得到一个错误:
时刻不是一个功能
Vin*_*zoC 11
查看有关如何全局更改区域设置的官方文档.
请注意,您必须导入区域设置数据(例如moment-with-locales.min.js)
这是一个工作示例:
moment.locale('de');
console.log(moment(Date.now()).fromNow()); //vor ein paar SekundenRun Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment-with-locales.min.js"></script>Run Code Online (Sandbox Code Playgroud)
您还可以仅使用给定区域设置的数据(例如de):
moment.locale('de');
console.log(moment(Date.now()).fromNow()); //vor ein paar SekundenRun Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
此外,您正在重新定义代码中的时刻,这是不正确的
var moment = moment();
Run Code Online (Sandbox Code Playgroud)
Gap*_*sym 10
编辑:在当前版本的 moment.js 中,此解决方案仍然有效,但它会向控制台输出一条消息,指出您应该使用名为 updateLocale 的新方法。所以新的解决方案应该是这样的:
更新的解决方案
import moment from 'moment';
import localization from 'moment/locale/fr';
moment.updateLocale('fr', localization);
Run Code Online (Sandbox Code Playgroud)
以前的解决方案
您可以像这样全局更改 moment 语言环境:
import moment from 'moment';
import localization from 'moment/locale/fr';
moment.locale('fr', localization);
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助你。