web-dev-qa-db-ja.com

Angular Material 5-mat-datepickerで日付をカスタマイズする方法

MM/DD/YYYY形式のmat-datepickerの日付をカスタマイズするにはどうすればよいですか?

私は次の構成を使用しています:

HTML:

<mat-form-field>
  <input matInput [matDatepicker]="picker" placeholder="Choose a date">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
</mat-form-field>

TS:

import {Component} from '@angular/core';

/** @title Basic datepicker */
@Component({
  selector: 'datepicker-overview-example',
  templateUrl: 'datepicker-overview-example.html',
  styleUrls: ['datepicker-overview-example.css'],
})
export class DatepickerOverviewExample {}

フォーム値を印刷すると、次の出力が得られます。

2017年12月31日00:00:00 GMT + 0530(IST)

MM/DD/YYYYの形式を期待しています。

私はこの構成を試しました: https://material.angular.io/components/datepicker/overview#customizing-the-parse-and-display-formats

しかし、私にはうまくいきませんでした。デフォルトのMatNativeDateModuleを使用しています(モーメントjsではありません)

7
Sahil Purav

日付パイプは次のように使用できます。

<input mdInput placeholder="Title" [ngModel]="mydate  | date:'MM-dd-yyyy'">

DEMO

8
Sajeetharan

以下のコードは、angularアプリケーションのすべての日付ピッカーの日付をフォーマットします。

日付形式の定数を作成します。

export const DateFormat = {
 parse: {
 dateInput: 'input',
 },
display: {
dateInput: 'MM/DD/YYYY',
monthYearLabel: 'MMMM YYYY',
dateA11yLabel: 'MM/DD/YYYY',
monthYearA11yLabel: 'MMMM YYYY',
}
};

そして、アプリモジュール内で以下のコードを使用します

providers: [
  { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
  { provide: MAT_DATE_FORMATS, useValue: DateFormat }
 ]
6
Mohan Singh