我正在使用片刻JS和React,我在更改语言方面遇到了问题。当我输入moment.lang('pl')
或moment.locale('pl')
然后moment.format('MMMM')
时,它只显示英文月份。有什么办法可以解决吗?
代码
import React, {Component} from 'react';
import moment from 'moment';
class Time extends Component {
constructor(props) {
super(props);
this.state = {}
}
render() {
let march = moment();
moment.lang('pl');
console.log(march.format('MMMM'));
return (
<div>
<div className="time">
<br/>
</div>
</div>
)
}
}
export default Time;
答案 0 :(得分:3)
问题是你在得到时间后设置了语言。
要修复它,只需像这样交换线:
import 'moment/locale/pl'// add this line below your moment import
moment.lang('pl');
let march = moment();
这也是我在回答你之前尝试的一个例子。
import moment from 'moment';
import 'moment/locale/pl'
let a = moment();
moment.locale('pl')
let b = moment();
console.log(a.format('MMMM')); //July
console.log(b.format('MMMM')); //lipiec
实际上,moment.lang
在版本2.8.0之后已弃用(对于Yarn或NPM,这似乎在我尝试的2.10之后已经弃用)。如果您使用的是更高版本,请改用moment.locale
。
此处提供更多信息:http://momentjs.com/docs/#/i18n/
答案 1 :(得分:1)
只需添加到Natsathorn的答案中,您就可以使用来动态导入
import(`moment/locale/${navigator.language.toLocaleLowerCase()}`).then();