2016-06-13 3 views
1

Ich habe eine Datumszeichenkette von meinem Server wie folgt. :Wie benutze ich angular2 datepipe in der Eingabe

1992-05-26T18:30:00Z

ich dieses Datum Rohr mit DD/MM/YYYY-Format zu formatieren versuchen und es zu meinem Eingang ngModel binden.

var userdate:any = new Date(data.draftData.accountHolder.dateOfBirth); 
this.setDob = userdate | date:'MM/DD/YYYY'; 

Es wirft mir einen Fehler:

ReferenceError: date is not defined

Mein HTML ist wie folgt

<md-input placeholder="Date of birth" value="mm/dd/yy" [(ngModel)]="setDob"></md-input> 

Kann jemand zeigen, was ich hier fehlt.

Antwort

4

Pipes sollen in der Vorlage verwendet werden, nicht im Code.

<div>{{userdate | date:'MM/DD/YYYY'}}</div> 

Sie können es in Code verwenden, auch wenn, wie

var userdate:any = new Date(data.draftData.accountHolder.dateOfBirth); 
var datePipe = new DatePipe(); 
this.setDob = datePipe.transform(userdate, 'MM/DD/YYYY'); 
+0

Gibt den Wert "05" für die oben genannten Zeitpunkt String. Warum das? – Prashanth

+0

@ Prashanth Verwenden Sie "MM/TT/JJJJ" https://github.com/angular/angular/blob/master/modules/%40angular/common/test/pipes/date_pipe_spec.ts#L59 – yurzui

+0

https: // eckig. io/docs/ts/neuste/api/common/index/DatePipe-class.html "d" ist für "Tag" statt "D". Danke @yurzui. –

-1
let datepipe = new DatePipe('en-US'); 
let date = new Date(data.draftData.accountHolder.dateOfBirth); 
let formattedDate = this.datepipe.transform(date,"MM/dd/y HH:MM"); 
+2

Code-only-Antworten könnten das Problem lösen, aber eine Erklärung, wie das Problem gelöst wird, würde helfen, zu verstehen, wie zukünftige Probleme gelöst werden können. –