Как проще всего изменить формат даты Mat-Datepicker на DD / MM / YYYY? - PullRequest
1 голос
/ 17 апреля 2019

Я устанавливаю mat-datepicker для DOB, и традиционно формат отображения - MM / DD / YYYY, мне нужно изменить его на DD / MM / YYYY с меньшим количеством кодирования

Я пытался отформатировать тег в средстве выбора даты, но он не работает, другие средства выбора даты, такие как формат ngbDatepicker, могут быть легко изменены с помощью одной строки кода

  <div class="col-md-3 Dinline-block">
     <mat-form-field>
        <input matInput [matDatepicker]="picker2" [max]="currentDate" 
         placeholder="DOB(DD/MM/YYYY)" required formControlName="dob" 
          readonly />
        <mat-datepicker-toggle matSuffix [for]="picker2"></mat-datepicker- 
         toggle>
        <mat-datepicker #picker2></mat-datepicker>
     </mat-form-field>
  </div>

Дата, отображаемая после выбора из средства выбора даты в формате mat, должна быть DD-MM-YYYY, а при извлечении значения из средства выбора даты она также должна быть в формате DD-MM-YYYY

Ответы [ 3 ]

2 голосов
/ 18 апреля 2019

Самый простой способ - изменить языковой стандарт:

Добавьте в раздел поставщиков вашего модуля следующее:

{ provide: MAT_DATE_LOCALE, useValue: 'en-GB' }
0 голосов
/ 18 июня 2019

Попробуйте это в компоненте, который вы используете mat-datepicker

import { DateAdapter } from '@angular/material';

constructor(private dateAdapter: DateAdapter<Date>) {
    this.dateAdapter.setLocale('your locale'); 
}
0 голосов
/ 14 июня 2019

Если вы хотите больше контроля над форматом даты, вы можете использовать специальный адаптер даты, например:

https://stackblitz.com/edit/angular-83pwdp

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