4
我正在使用React Native版本0.45.1和时刻版本2.18.1。React Native moment.locale不起作用
我想根据设备本地更改日期,但我总是在'en-Us'语言环境中获取日期。 我无法导入所有语言环境,因为我在某些解决方案中看到,因为我不知道设备区域设置。 (例如:https://github.com/moment/moment/issues/2962)
其他选项?
我正在使用React Native版本0.45.1和时刻版本2.18.1。React Native moment.locale不起作用
我想根据设备本地更改日期,但我总是在'en-Us'语言环境中获取日期。 我无法导入所有语言环境,因为我在某些解决方案中看到,因为我不知道设备区域设置。 (例如:https://github.com/moment/moment/issues/2962)
其他选项?
我无法导入所有语言环境,正如我在某些解决方案中看到的,因为我事先不知道设备语言环境。
其实,你可以import all of the locales在这样的时刻(moment-with-locales
提到那里的homepage):
import moment from 'moment/min/moment-with-locales'
// Or if you are using require instead:
var moment = require('moment/min/moment-with-locales')
那么你应该能够与任何模块/你喜欢的方法,让您的设备的语言环境(在我的例子中,我将使用Expo)并将时刻语言环境更改为它。例如:
var deviceLocale = await Expo.Util.getCurrentLocaleAsync()
moment.locale(deviceLocale)
我不会说进口一切为了处理这个为moment-with-locales
不仅仅是moment
更大的最佳方法,但它确实你想要完成的任务。您也可以按照我链接到的Github评论中所述的方式,直接导入您支持的语言环境。
我想到了那个 - 但我不喜欢那个方向。将所有内容导入到应用程序中并不是我脑海中最好的方式,或者写入移动设备时正确接近的方式。 现在,删除包'时刻',我用'toLocaleDateString'方法使用Date对象将日期转换为适当的格式。 –