如何在momentJS中更改语言环境?

chu*_*chu 4 momentjs react-native

这是我所拥有的,但不起作用。

import moment from 'moment'
import 'moment/min/moment-with-locales'
import 'moment-duration-format' // used by moment

componentDidMount () {
  console.log(moment.locale())
  console.log(moment.locale('zh-cn')) 
  console.log(moment.locale()) 
}
Run Code Online (Sandbox Code Playgroud)

控制台日志输出:en,en,en

预期的控制台日志输出:en,zh-cn,zh-cn

当我尝试将导入时间从“ moment”更改为导入时间,从“ moment / min / moment-with-locales”导入时,却在此行上引发了错误:

const total = moment.duration(this.props.stoveUsage.total, 'seconds').format('H:mm', { trim: false }) 
Run Code Online (Sandbox Code Playgroud)

错误:momentWithLocales2.default.duration(...)。format不是函数

nic*_*ste 7

您需要做的就是导入要使用的语言环境。在我的示例中,我想确保所有日期都使用西班牙语,这就是我所做的:

import moment from 'moment';
import 'moment/locale/es';
Run Code Online (Sandbox Code Playgroud)

然后,只要您需要,请执行以下操作:

moment.locale('es')
moment(date).format("DD - MMMM - YYYY"
Run Code Online (Sandbox Code Playgroud)

输出将是:

19 - julio - 2018
Run Code Online (Sandbox Code Playgroud)

我猜您将需要在应用程序中导入所需数量的语言环境。