【发布时间】:2020-02-21 18:27:47
【问题描述】:
我想更改 datePicker 的输入格式,默认是 MM/DD/YYYY 我想将其更改为 DD/MM/YYYY。 html代码:
<mat-form-field>
<mat-label>Date de creation min</mat-label>
<input formControlName="dateDebut" matInput [matDatepicker]="pickerCreationMin"
placeholder="jj/mm/aaaa">
<mat-datepicker-toggle matSuffix [for]="pickerCreationMin"></mat-datepicker-toggle>
<mat-datepicker #pickerCreationMin></mat-datepicker>
</mat-form-field>
格式选择器.ts
import { NativeDateAdapter } from '@angular/material';
import { MatDateFormats } from '@angular/material/core';
export class AppDateAdapter extends NativeDateAdapter {
format(date: Date, displayFormat): string {
if (displayFormat === 'input') {
let day: string = date.getDate().toString();
day = +day < 10 ? '0' + day : day;
let month: string = (date.getMonth() + 1).toString();
month = +month < 10 ? '0' + month : month;
let year = date.getFullYear();
return `${day}-${month}-${year}`;
}
return date.toDateString();
}
}
export const APP_DATE_FORMATS: MatDateFormats = {
parse: {
dateInput: { month: 'short', year: 'numeric', day: 'numeric' },
},
display: {
dateInput: 'input',
monthYearLabel: { year: 'numeric', month: 'numeric' },
dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric'},
monthYearA11yLabel: { year: 'numeric', month: 'long' },
}
};
但是当我使用 DD/MM/YYYY 格式手动输入日期时,我收到无效日期错误 例如:24/08/2019
【问题讨论】:
标签: angular datepicker angular-material angular7 angular-reactive-forms