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對象將日期轉換爲適當的格式。 –