Angular - angular формат материала - «дд» и «гггг» в нижнем регистре не отображают правильный формат - PullRequest
1 голос
/ 09 марта 2020

В моем app.module.ts я изменил формат моего приложения на -

export const MY_FORMATS = {
    parse: {
        dateInput: 'LL',
    },
    display: {
        dateInput: 'yyyy-MM-dd',
        monthYearLabel: 'YYYY',
        dateA11yLabel: 'LL',
        monthYearA11yLabel: 'YYYY',
    },
};

@NgModule({
    imports: [
        BrowserModule,
        HttpClientModule
        ...
    ],
    declarations: [
        AppComponent
        ...
    ],
    providers: [
        {provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE]},
        {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},
    ],
    bootstrap: [AppComponent],
})
export class AppModule { }

В зависимости от того, что я понимаю, «dd» означает «день месяца», а «DD» «is» день года », а« yyyy »указывает календарный год, тогда как« YYYY »указывает год (« недели года »).

Но в средствах выбора даты я получаю эту дату -« yyyy » -03-Ту ", только когда я изменяю формат на" ГГГГ-ММ-ДД ", я получаю правильную дату ... есть идеи, почему так работает?

1 Ответ

2 голосов
/ 09 марта 2020

Вы используете MomentDateAdapter, который использует Момент js и его спецификации формата.

Момент js использует:

  • YYYY для 4-х дней git лет - yyyy недействителен и интерпретируется как буквальный текст,
  • DD для 2-х дней git день месяца,
  • dd на 2 дня git день недели.

Выезд Момент JS форматирование

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...