2016-08-15 4 views
0

Ich möchte in einem Blick auf ein eckiges Projekt ein menschenfreundliches Datumsformat zeigen, und ich sah, dass eckige einen Filter dafür hat, aber das Eingabedatum muss eine bestimmte haben Format.AngularJS - Konvertieren von Timestamp-Datumsformat in Javascript-Format

das gewünschte Ausgabeformat in der Ansicht zu sehen ist das folgende: "dd/MMMM/yyyy hh: mm: ss"

Derzeit I auf einer Datenbank haben folgende Zeitstempel Format:

"2016-08-15 12:34:34"

Wie kann ich diese Art von Zeitstempel so formatieren, dass eckig es interpretieren und es wie gewünscht formatieren kann?

Vielen Dank!

+0

Um klar zu sein, dass gewünschte Format würde Sie so etwas wie 'Montag/August/2016 06: 00: 00' machen, willst du das wirklich? – KreepN

+0

Oh, ich habe am Tag einen Fehler gemacht. Lass mich das bearbeiten –

Antwort

0

Sie können das Datum zu einem Javascript-Datum analysieren und dann den Datumsfilter in Angular verwenden, um es im gewünschten Format anzuzeigen (wenn Sie den Datumsfilter für das Datum nicht direkt aus Ihrer Datenbank verwenden können).

Sie können dies tun, als Filter zu erleichtern:

myApp.filter('formatted', function() { 
    return function(value) { 
    return new Date(value); 
    } 
}); 

in Ihrem HTML Sie dann diesen Filter vor dem Zeitpunkt Filter hinzufügen könnte:

Filter: {{ vm.dateToFormat | formatted | date: 'dd/MMMM/yyyy hh:mm:ss' }}

0

Sie könnten nur Inline-Filter verwenden:

Beispiel:

<span>{{vm.Date | date: 'dd/MMMM/yyyy hh:mm:ss'}}</span> 

EDIT: klar sein, Sie schreiben nicht klären, ob die Zeitstempel eine Zeichenfolge ist oder nicht, so dass Sie kann um es entsprechend zu analysieren. Ich sehe die anderen Poster nur angenommen, dass es eine Schnur war.

0

Wenn Angular Probleme bei der syntaktischen Analyse der Zeichenfolge aus der Datenbank hat, können Sie einfach JavaScript Date.parse("2016-08-15 12:34:34") verwenden, um Ihnen ein Datum zurückzugeben, das Angular korrekt interpretiert.

Verwandte Themen