我在角度材料 13 中扩展 NativeDateAdapter 并将定位设置为“fa-IR”,之后的问题是,它从第一天开始不显示波斯月份
这是我的适配器
import { NativeDateAdapter } from '@angular/material/core';
export class NativePersianDateAdapter extends NativeDateAdapter {
override parse(value: any): Date | null {
if (typeof value === 'string' && value.indexOf('/') > -1) {
const str = value.split('/');
const year = Number(str[2]);
const month = Number(str[1]) - 1;
const date = Number(str[0]);
return new Date(year, month, date);
}
const timestamp = typeof value === 'number' ? value : Date.parse(value);
return isNaN(timestamp) ? null : new Date(timestamp);
}
override getFirstDayOfWeek(): number {
return 6;
}
}
我在 app.module.ts 中这样使用它
providers: [
{ provide: MAT_DATE_LOCALE, useValue: 'fa-IR' },
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },
{
provide: DateAdapter,
useClass: NativePersianDateAdapter,
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
},
{ provide: MAT_DATE_FORMATS, useValue: PERSIAN_DATE_FORMATS },
],
任何人都可以帮助我吗?