0

我在角度材料 13 中扩展 NativeDateAdapter 并将定位设置为“fa-IR”,之后的问题是,它从第一天开始不显示波斯月份

它从第 12 天开始显示月份!如此链接所示

这是我的适配器

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 },

  ],

任何人都可以帮助我吗?

4

0 回答 0