2017-01-08 4 views
0

Mein Filter UTC konvertiert:Angular Datumsfilter-Wandler, aber Datum immer

.filter('emedicineDateTimeFormat', function ($filter) { 
    return function (input) { 
     if (input == null) { return ""; } 

     var date = $filter('date')(new Date(input), 'dd.MM.yyyy hh:mm:ss'); 
     return date.toUpperCase(); 

    }; 
}); 

wenn Eingang ist: 2017-01-04T14:30:00

dann Ausgabe 04.01.2017 03:15:00

und nicht 04.01.2017 14:15:00

Warum ?

Antwort

2

Wenn Sie 24-Stunden-Zeit benötigen, verwenden Sie das obere Gehäuse H. Ein Beispiel ist here.

'dd.MM.yyyy HH:mm:ss' 

Sind Sie sicher, dass Sie die Ausgabe und das erwartete Ergebnis nicht falsch geschrieben haben? Leben Sie in UTC + 01: 00 Zeitzone?

Standardmäßig verwendet AngularJS die Browser-Zeitzone. Wenn Sie UTC verwenden möchten, sollten Sie das dritte Argument an den Datumsfilter 'UTC' übergeben. Schau here.

+0

Ja, ich lebe in UTC + 1 Zeitzone. Aber es ist lustig, warum automatisch geändert? – senzacionale

+0

und jsfiddle kehrt auch 04.01.2017 15:30:00 und nicht 04.01.2017 14:30:00 – senzacionale

+0

Mein JSFiddle kehrt zurück "04.01.2017 17: 30: 00" ;-) Weil ich in UTC + 03: 00 lebe. – Antonio

Verwandte Themen