2016-05-31 5 views
0

Ich möchte ein Datum im MM/JJJJ-Format anzeigen. Ich verwende den folgenden Code, um das Format zu ändern:Problem mit der Übergabe eines Werts an das Date-Objekt

Daten enthält das Eingabedatum. Wenn zum Beispiel German Locale im Browser eingestellt ist, ist der Eingabewert wie folgt: 01.03.2016 05:30

Beim Erstellen des Datumsobjekts mit diesem Wert wird ein ungültiges Datum angegeben, obwohl es funktioniert, wenn das US-Gebietsschema im Browser festgelegt ist .Bitte Anleitung, um dies zu beheben.

Antwort

1

Sie können locale.parse verwenden, um Ihre lokalisierte Datumszeichenfolge in ein Datumsobjekt zu konvertieren und das Datumsobjekt anschließend in das gewünschte formatierte Datum zu konvertieren.

Sehen Sie dieses kleine Beispiel:

var browserLocale = 'de', 
 
    data = '01.03.2016 05:30'; 
 

 

 
require(["dojo/i18n", "dojo/date/locale"], function(i18n, locale){ 
 
    require([i18n.getL10nName("dojo/cldr", "gregorian", browserLocale)], function() { 
 
     var dateObject = locale.parse(data, {formatLength: 'short', locale: 'de'}); 
 
     alert(locale.format(dateObject, {datePattern: "MM/yyyy", selector: "date"})); 
 
    }); 
 
});
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>