Угловой формат значений даты - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть ввод Datepicker, как это:

<mat-form-field class="example-full-width">
    <input #startDate matInput [matDatepicker]="picker" (dateInput)="first($event.value)" placeholder="Enter date">
    <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
    <mat-datepicker #picker></mat-datepicker>
  </mat-form-field>

При изменении ввода функция first получает дату $ event.value в следующем формате:

Вторник, 09 апреля 2019 г. 00:00:00 по Гринвичу + 0200

И мне нужен этот:

2019-04-09

Есть ли способ изменить выходное значение Datepicker без его анализа вручную? Благодаря.

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Вы можете использовать DatePipe.

В вашем компоненте:

import { DatePipe } from '@angular/common';

constructor(private datePipe : DatePipe)
{

}
this.datePipe.transform(your_date, 'MM-dd-yyyy');

Вы также должны добавить в app.module.

Надеюсь, это поможет вам!

0 голосов
/ 15 апреля 2019

Создайте шаблон пользовательского формата, например

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

Это будет ваш формат, и вам придется импортировать его в поставщики компонентов

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

  //...

providers: [
   {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},
 ],

Надеюсь, это поможет вам.

...