2016-06-13 2 views
1

У меня есть строка даты, исходящая от моего сервера, как показано ниже. :Как использовать угловую подающую трубку на входе

1992-05-26T18:30:00Z

Я пытаюсь форматировать это DD/формате ММ/ГГГГ, используя дату трубы и привязать его к моему входу ngModel.

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

Он бросает мне ошибку:

ReferenceError: date is not defined

Мой HTML выглядит следующим образом

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

Может кто-то момент, что я здесь отсутствует.

ответ

4

Трубы предполагается использовать в шаблоне, а не в коде.

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

Вы можете использовать его в коде, а также, хотя, как

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

Возвращает значение "05" для указанной выше строки даты. Почему это? – Prashanth

+0

@Prashanth Используйте «MM/dd/yyyy» https://github.com/angular/angular/blob/master/modules/%40angular/common/test/pipes/date_pipe_spec.ts#L59 – yurzui

+0

https: // угловой. io/docs/ts/latest/api/common/index/DatePipe-class.html 'd' для' day' вместо 'D'. Спасибо @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

Только ответы на код могут решить проблему, но некоторое объяснение того, как она решает проблему, поможет научиться понимать, как решать будущие проблемы. –

Смежные вопросы