2017-07-23 10 views

Antwort

8

Ich kann nicht alle Gebietsschemas importieren, wie ich in einigen Lösungen sah, da ich das Gerätegebietsschema nicht im Voraus kenne.

Eigentlich kann man import all of the locales in Moment wie diesen (moment-with-locales ist genau dort erwähnt auf der homepage):

import moment from 'moment/min/moment-with-locales' 
// Or if you are using require instead: 
var moment = require('moment/min/moment-with-locales') 

Dann sollten Sie in der Lage sein, Ihr Gerät locale zu bekommen mit dem, was Modul/Methode, die Sie bevorzugen (In meinem Beispiel verwende ich Expo) und ändere das momentane Gebietsschema darauf. Zum Beispiel:

var deviceLocale = await Expo.Util.getCurrentLocaleAsync() 
moment.locale(deviceLocale) 

Ich will nicht sagen, dass alles, was den Import ist die beste Methode für diese als moment-with-locales Handhabung ist größer als nur moment, aber es tut, was Sie es erreichen wollen. Sie können auch den Pfad zum Importieren der von Ihnen unterstützten Gebietsschemas verwenden, wie in dem Github-Kommentar erwähnt, mit dem ich verlinkt habe.

+0

Ich dachte daran - aber ich mag diese Richtung nicht. alles in die Anwendung zu importieren ist nicht der beste Weg in meinem Kopf oder der richtige Ansatz beim Schreiben auf mobile Geräte. für jetzt, entfernt das Paket "Moment" und ich verwende Date-Objekt mit "ToLocaleDateString" -Methode, um das Datum in das richtige Format zu konvertieren. –

Verwandte Themen