Konvertieren von JSON-Datum(s) in AngularJS
Ich würde gerne konvertieren Daten abgerufen, die aus JSON-string und formatiert yyyy-MM-dd. Ich bin mit dem folgenden code zu formatieren, meine Termine, aber seltsam, die Daten zurückgeben "12-31-1969" wenn der JSON-string ist z.B. "created_at": "2016-01-26T09:52:31Z" daher ist die richtige Zeichenfolge wäre 01-26-2016 nicht 12-31-1969.
HTML:
<li class="mark">Created:</li>
<li class="mark"> {{item.created_at | jsonDate : 'MM-dd-yyyy' }}"</li>
<li class="mark">Updated:</li>
<li class="mark"> {{item.updated_at | jsonDate : 'MM-dd-yyyy'}}</li>
Filter:
defaultPage.filter('jsonDate', ['$filter', function ($filter) {
return function (input, format) {
return (input) ? $filter('date')(parseInt(input.substr(6)), format) : '';
};
}]);
- Von einem schnellen Blick, scheint, wie ein Problem auf: Eingang.substr(6)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
parseInt(input.substr(6))
ist unnötig. Von die Dokumentation, diedate
argument der filter-Funktion ist wie folgt beschrieben:In Ihrem Fall ist es in der ISO-8601-string-format, so dass Sie Ihre filter-Linie kann nur sein:
Hier ist ein Turnschuh, das zeigt, dass es funktioniert: https://jsfiddle.net/ezj2kefL/1/
mit:
sind Sie wieder 0, und das ist der Anfang der Epoche; so erhalten Sie 12-31-1969.
Termine sind schwierig, mit Javascript. In meiner Faulheit, ich verlasse mich auf die Moment.js lib.
Sotch.io - Anzeige Zeit Relativ Eckig bietet ein ausgezeichnetes Beispiel von dem, was Ihr versuchen, ich glaube, die entlang der gleichen Linien.
http://www.w3schools.com/angular/ng_filter_date.asp
nichts zu tun, per JS nur tun, in HTML ist es selbst
wie
{{item.created_at | date }}
oder{{ item.created_at | date : "fullDate" }}
etc.Den angegebenen Datums-string in JSON(2016-01-26T09:52:31Z) scheint zu funktionieren mit der Datum filter zur Verfügung mit AngularJS jetzt. Jedoch ist der Datum-string mit meinem JSON nicht funktioniert hat und ich es geändert, um die geforderte Leistung.
Teilen modifiziert filter code unten für diejenigen, die kommen können hier überprüfen, wie mich: