如何在<mat-datepicker>中自定义日期到2017-11-20T11:23:00 - Angular材料5

时间:2018-01-23 07:11:53

标签: angular datepicker angular-material

我使用以下代码显示日期选择器

<mat-form-field>
  <input matInput [matDatepicker]="picker" placeholder="Choose a date">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
 </mat-form-field>

但返回结果为2018年1月24日星期三00:00:00 GMT + 0530(印度标准时间) 但我需要它作为 2018-01-24T11:23:00。 你能帮帮我吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

在component.html中,使用两个输入,第一个用于保存mat-datepicker中的日期,第二个用于与模型绑定。 在&#39; mat-datepicker&#39;的(selectedChanged)事件中更新&#39; myModel.MyDateString&#39;来自日期选择器值:

updateDateToString(event) {
let newDate = new Date(event)

let dd: number | string = newDate.getDate();
if (dd < 10) {
  dd = '0' + dd;
}
let mm: number | string = newDate.getMonth() + 1;
if (mm < 10) {
  mm = '0' + mm;
}
const yy: number = newDate.getFullYear();
this.myModel.MyDateString = `${yy}-${mm}-${dd}`;    

在component.ts中:

while (window.screen.height > 
   this.elementRef.nativeElement.getBoundingClientRect().height) 
   {
      this.child= this.childSet.slice(0, this.count+1);
   }

}

答案 1 :(得分:0)

将值转换为JSON。 toString输出转换为格式“Wed Jan 24 2018 00:00:00 GMT + 0530”。将其转换为JSON时,格式为2018-01-24T11:23:00.000Z