我正在创建两个mat- with选择器,一个的格式为"MM/YYYY“,另一个的格式为"DD/MM/YYYY",但我不能在模块中同时配置这两种格式。
我尝试将MM/YYYY的设置放在一个模块中,并在应用程序模块中放入DD/MM/YYYY的设置。
代码1:
export const MY_FORMATS = {
parse: {
dateInput: 'MM/YYYY',
},
display: {
dateInput: 'MM/YYYY',
monthYearLabel: 'MMM YYYY',
dateA11yLabel: 'LL',
monthYearA11yLabel: 'MMMM YYYY',
},
...
providers: [{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
{provide: MAT_DATE_FORMATS, useValue: MY_FORMATS}]
};
代码2:
export const MY_FORMATS = {
parse: {
dateInput: 'DD/MM/YYYY',
},
display: {
dateInput: 'DD/MM/YYYY',
monthYearLabel: 'DD MMM YYYY',
dateA11yLabel: 'LL',
monthYearA11yLabel: 'DD MMMM YYYY',
},
};
...
providers: [{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
{provide: MAT_DATE_FORMATS, useValue: MY_FORMATS}]
})
如果我在设置中使用DD/MM/YYYY格式,所有日期显示为DD/ MM/YYYY,如果我不使用,所有日期显示为MM/YYYY。如何将一个日期显示为MM/YYYY,而将另一个日期显示为DD/MM/YYYY?
发布于 2019-05-17 12:36:35
发布于 2019-05-21 01:24:40
我找到了一种方法来解决这个问题,就像Angular Material Wiki中的Datepicker示例一样,而不是在模块中定义DateAdapter和日期格式提供程序,而是在组件中定义它,然后它就起作用了。
发布于 2019-11-25 10:15:30
<mat-form-field><input type="text" [value]="VisitorsCurrentDate" class="visit_date" (click)="patientVisitPicker.open()" style="text-transform: capitalize;" style="border:none;"/><input matInput [matDatepicker]="patientVisitPicker" (dateInput)="setPatientsVisitsDateTiming($event.value)" style="display:none;" class="mat_class"><mat-datepicker-toggle matSuffix [for]="patientVisitPicker" style="display:none;"></mat-datepicker-toggle><mat-datepicker [dateClass]="dateClass" #patientVisitPicker style="display:none;"></mat-datepicker></mat-form-field> public setPatientsVisitsDateTiming(date:any){ this.VisitorsCurrentDate = moment(date, "D-M-YYYY").format("DD MMM YYYY"); }
https://stackoverflow.com/questions/56176609
复制相似问题