[英]Angular 2 Material 2 datepicker date format
I don't know how to change the date format of the material 2 datepicker.我不知道如何更改材料 2 日期选择器的日期格式。 I've read documentation but I don't understand what I actually need to do.
我已经阅读了文档,但我不明白我实际需要做什么。 Output date format which datepicker provides by default is fe:
6/9/2017
datepicker默认提供的输出日期格式为fe:
6/9/2017
What I'm trying to achieve is to change format to one like 9-Jun-2017
or any other.我想要实现的是将格式更改为
9-Jun-2017
或任何其他格式。
Documentation https://material.angular.io/components/component/datepicker doesn't help me at all.文档https://material.angular.io/components/component/datepicker对我一点帮助都没有。
Here is the only solution I found for this one:这是我为此找到的唯一解决方案:
First, create const:首先,创建常量:
const MY_DATE_FORMATS = {
parse: {
dateInput: {month: 'short', year: 'numeric', day: 'numeric'}
},
display: {
// dateInput: { month: 'short', year: 'numeric', day: 'numeric' },
dateInput: 'input',
monthYearLabel: {year: 'numeric', month: 'short'},
dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},
monthYearA11yLabel: {year: 'numeric', month: 'long'},
}
};
Then you have to extend NativeDateADapter:然后你必须扩展 NativeDateADapter:
export class MyDateAdapter extends NativeDateAdapter {
format(date: Date, displayFormat: Object): string {
if (displayFormat == "input") {
let day = date.getDate();
let month = date.getMonth() + 1;
let year = date.getFullYear();
return this._to2digit(day) + '/' + this._to2digit(month) + '/' + year;
} else {
return date.toDateString();
}
}
private _to2digit(n: number) {
return ('00' + n).slice(-2);
}
}
In format function, you can choose whatever format you want在格式功能中,您可以选择您想要的任何格式
And the last step, you have to add it into module providers:最后一步,您必须将其添加到模块提供程序中:
providers: [
{provide: DateAdapter, useClass: MyDateAdapter},
{provide: MD_DATE_FORMATS, useValue: MY_DATE_FORMATS},
],
And that's it.就是这样。 I can not believe that there is no some easy way to change date format through the @Input but let's hope it will be implemented in some future version of material 2 (currently beta 6 ).
我不敢相信没有一些简单的方法可以通过 @Input 更改日期格式,但我们希望它会在未来的材料 2 版本(目前是beta 6 )中实现。
Igor's answer didn't work for me so I asked directly on Angular 2 Material's github and someone gave me that answer which worked for me : Igor 的回答对我不起作用,所以我直接在Angular 2 Material 的 github上提问,有人给了我这个对我有用的答案:
First write your own adapter :首先编写自己的适配器:
import { NativeDateAdapter } from "@angular/material"; export class AppDateAdapter extends NativeDateAdapter { format(date: Date, displayFormat: Object): string { if (displayFormat === 'input') { const day = date.getDate(); const month = date.getMonth() + 1; const year = date.getFullYear(); return `${day}-${month}-${year}`; } return date.toDateString(); } }
Create your date format :创建您的日期格式:
export const APP_DATE_FORMATS = { parse: { dateInput: { month: 'short', year: 'numeric', day: 'numeric' }, }, display: { dateInput: 'input', monthYearLabel: { year: 'numeric', month: 'numeric' }, dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' }, monthYearA11yLabel: { year: 'numeric', month: 'long' }, } };
Provide those two to your module将这两个提供给您的模块
providers: [ { provide: DateAdapter, useClass: AppDateAdapter }, { provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS } ]
EDIT: For those who are having the trouble of the manual input is being not respected with the format, you may override the parse(value: any)
function from the NativeDateAdapter
as follows.编辑:对于那些手动输入不符合格式的人,您可以覆盖
NativeDateAdapter
的parse(value: any)
函数,如下所示。
parse(value: any): Date | null {
const date = moment(value, 'DD/MM/YYYY');
return date.isValid() ? date.toDate() : null;
}
So, the custom adapter will take the final shape as follows.因此,自定义适配器将采用如下最终形状。
import { NativeDateAdapter } from "@angular/material";
import * as moment from 'moment';
export class AppDateAdapter extends NativeDateAdapter {
format(date: Date, displayFormat: Object): string {
if (displayFormat === 'input') {
const day = date.getDate();
const month = date.getMonth() + 1;
const year = date.getFullYear();
return `${day}/${month}/${year}`;
}
return date.toDateString();
}
parse(value: any): Date | null {
const date = moment(value, environment.APP_DATE_FORMAT);
return date.isValid() ? date.toDate() : null;
}
}
You just need to provide a custom MAT_DATE_FORMATS
你只需要提供一个自定义的
MAT_DATE_FORMATS
export const APP_DATE_FORMATS = {
parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},
display: {
dateInput: {month: 'short', year: 'numeric', day: 'numeric'},
monthYearLabel: {year: 'numeric'}
}
};
and add it to providers.并将其添加到提供者。
providers: [{
provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS
}]
The work around that works for me is:对我有用的解决方法是:
my.component.html:
<md-input-container>
<input mdInput disabled [ngModel]="someDate | date:'d-MMM-y'" >
<input mdInput [hidden]='true' [(ngModel)]="someDate"
[mdDatepicker]="picker">
<button mdSuffix [mdDatepickerToggle]="picker"></button>
</md-input-container>
<md-datepicker #picker></md-datepicker>
my.component.ts :
@Component({...
})
export class MyComponent implements OnInit {
....
public someDate: Date;
...
So now you can have the format (Ex. 'd-MMM-y') that works best for you.所以现在您可以拥有最适合您的格式(例如“d-MMM-y”)。
There's a high chance that you already use a library that provides you with an convinient way of manipulating (parsing, validating, displaying, etc.) dates and times in JavaScript.您很有可能已经使用了一个库,该库为您提供了一种在 JavaScript 中操作(解析、验证、显示等)日期和时间的便捷方式。 If you dont, take a look at one of them, for example moment.js .
如果没有,请查看其中一个,例如moment.js 。
Implementing your custom adapter using moment.js would look like this.使用 moment.js 实现您的自定义适配器看起来像这样。
Create CustomDateAdapter.ts and implement it like this:创建CustomDateAdapter.ts并像这样实现它:
import { NativeDateAdapter } from "@angular/material";
import * as moment from 'moment';
export class CustomDateAdapter extends NativeDateAdapter {
format(date: Date, displayFormat: Object): string {
moment.locale('ru-RU'); // Choose the locale
var formatString = (displayFormat === 'input')? 'DD.MM.YYYY' : 'LLL';
return moment(date).format(formatString);
}
}
In your app.module.ts :在您的app.module.ts 中:
import { DateAdapter } from '@angular/material';
providers: [
...
{
provide: DateAdapter, useClass: CustomDateAdapter
},
...
]
That's it.就是这样。 Simple, easy and no need of reinventing bicycles.
简单、容易,无需重新发明自行车。
Robouste worked perfect!! Robouste 工作完美!!
I made easy one (Angular 4 "@angular/material": "^2.0.0-beta.10") first made datepicker.module.ts我做了一个简单的(Angular 4 "@angular/material": "^2.0.0-beta.10")首先做了 datepicker.module.ts
import { NgModule } from '@angular/core';
import { MdDatepickerModule, MdNativeDateModule, NativeDateAdapter, DateAdapter, MD_DATE_FORMATS } from '@angular/material';
class AppDateAdapter extends NativeDateAdapter {
format(date: Date, displayFormat: Object): string {
if (displayFormat === 'input') {
const day = date.getDate();
const month = date.getMonth() + 1;
const year = date.getFullYear();
return `${year}-${month}-${day}`;
} else {
return date.toDateString();
}
}
}
const APP_DATE_FORMATS = {
parse: {
dateInput: {month: 'short', year: 'numeric', day: 'numeric'}
},
display: {
// dateInput: { month: 'short', year: 'numeric', day: 'numeric' },
dateInput: 'input',
monthYearLabel: {year: 'numeric', month: 'short'},
dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},
monthYearA11yLabel: {year: 'numeric', month: 'long'},
}
};
@NgModule({
declarations: [ ],
imports: [ ],
exports: [ MdDatepickerModule, MdNativeDateModule ],
providers: [
{
provide: DateAdapter, useClass: AppDateAdapter
},
{
provide: MD_DATE_FORMATS, useValue: APP_DATE_FORMATS
}
]
})
export class DatePickerModule {
}
just import it (app.module.ts)只需导入它(app.module.ts)
import {Component, NgModule, VERSION, ReflectiveInjector} from '@angular/core'//NgZone,
import { CommonModule } from '@angular/common';
import {BrowserModule} from '@angular/platform-browser'
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FormsModule } from '@angular/forms';
import { DatePickerModule } from './modules/date.picker/datepicker.module';
@Component({
selector: 'app-root',
template: `
<input (click)="picker.open()" [mdDatepicker]="picker" placeholder="Choose a date" [(ngModel)]="datepicker.SearchDate" >
<md-datepicker-toggle mdSuffix [for]="picker"></md-datepicker-toggle>
<md-datepicker #picker touchUi="true" ></md-datepicker>
`,
})
export class App{
datepicker = {SearchDate:new Date()}
constructor( ) {}
}
@NgModule({
declarations: [ App ],
imports: [ CommonModule, BrowserModule, BrowserAnimationsModule, FormsModule, DatePickerModule],
bootstrap: [ App ],
providers: [ ]//NgZone
})
export class AppModule {}
Why to not use Angular DatePipe?为什么不使用 Angular DatePipe?
import {Component} from '@angular/core';
import {DateAdapter, MAT_DATE_FORMATS, NativeDateAdapter} from '@angular/material';
import {FormControl} from '@angular/forms';
import {DatePipe} from '@angular/common';
export const PICK_FORMATS = {
parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},
display: {
dateInput: 'input',
monthYearLabel: {year: 'numeric', month: 'short'},
dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},
monthYearA11yLabel: {year: 'numeric', month: 'long'}
}
};
class PickDateAdapter extends NativeDateAdapter {
format(date: Date, displayFormat: Object): string {
if (displayFormat === 'input') {
return new DatePipe('en-US').transform(date, 'EEE, MMM dd, yyyy');
} else {
return date.toDateString();
}
}
}
@Component({
selector: 'custom-date',
template: `<mat-form-field>
<input matInput [formControl]="date" />
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>`,
providers: [
{provide: DateAdapter, useClass: PickDateAdapter},
{provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS}
]
})
export class DateComponent {
date = new FormControl(new Date());
constructor() {}
}
Create a constant for date format.为日期格式创建一个常量。
export const DateFormat = {
parse: {
dateInput: 'input',
},
display: {
dateInput: 'DD-MMM-YYYY',
monthYearLabel: 'MMMM YYYY',
dateA11yLabel: 'MM/DD/YYYY',
monthYearA11yLabel: 'MMMM YYYY',
}
};
And Use the below code inside app module并在 app 模块中使用以下代码
providers: [
{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
{ provide: MAT_DATE_FORMATS, useValue: DateFormat }
]
I used the solution propose by @igor-janković and had the problem of "Error: Uncaught (in promise): TypeError: Cannot read property 'dateInput' of undefined".我使用了@igor-janković 提出的解决方案,并遇到了“错误:未捕获(承诺):类型错误:无法读取未定义的属性‘dateInput’”的问题。 I realized that this problem was because
MY_DATE_FORMATS
need to be declare like type MdDateFormats
:我意识到这个问题是因为
MY_DATE_FORMATS
需要像type MdDateFormats
声明:
export declare type MdDateFormats = {
parse: {
dateInput: any;
};
display: {
dateInput: any;
monthYearLabel: any;
dateA11yLabel: any;
monthYearA11yLabel: any;
};
};
So, the correct way of declare MY_DATE_FORMATS
is:因此,声明
MY_DATE_FORMATS
的正确方法是:
const MY_DATE_FORMATS:MdDateFormats = {
parse: {
dateInput: {month: 'short', year: 'numeric', day: 'numeric'}
},
display: {
dateInput: 'input',
monthYearLabel: {year: 'numeric', month: 'short'},
dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},
monthYearA11yLabel: {year: 'numeric', month: 'long'},
}
};
With the above modification the solution work for me.通过上述修改,解决方案对我有用。
Regards问候
create a file date.adapter.ts创建文件 date.adapter.ts
import { NativeDateAdapter, DateAdapter, MAT_DATE_FORMATS, MatDateFormats } from "@angular/material";
export class AppDateAdapter extends NativeDateAdapter {
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);
}
format(date: Date, displayFormat: string): string {
if (displayFormat == "input") {
let day = date.getDate();
let month = date.getMonth() + 1;
let year = date.getFullYear();
return year + '-' + this._to2digit(month) + '-' + this._to2digit(day) ;
} else if (displayFormat == "inputMonth") {
let month = date.getMonth() + 1;
let year = date.getFullYear();
return year + '-' + this._to2digit(month);
} else {
return date.toDateString();
}
}
private _to2digit(n: number) {
return ('00' + n).slice(-2);
}
}
export const APP_DATE_FORMATS =
{
parse: {
dateInput: {month: 'short', year: 'numeric', day: 'numeric'}
},
display: {
dateInput: 'input',
monthYearLabel: 'inputMonth',
dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},
monthYearA11yLabel: {year: 'numeric', month: 'long'},
}
}
app.module.ts app.module.ts
providers: [
DatePipe,
{
provide: DateAdapter, useClass: AppDateAdapter
},
{
provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS
}
]
app.component.ts app.component.ts
import { FormControl } from '@angular/forms';
import { DatePipe } from '@angular/common';
@Component({
selector: 'datepicker-overview-example',
templateUrl: 'datepicker-overview-example.html',
styleUrls: ['datepicker-overview-example.css'],
providers: [
DatePipe,
{
provide: DateAdapter, useClass: AppDateAdapter
},
{
provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS
}
]
})
export class DatepickerOverviewExample {
day = new Date();
public date;
constructor(private datePipe: DatePipe){
console.log("anh "," " +datePipe.transform(this.day.setDate(this.day.getDate()+7)));
this.date = new FormControl(this.datePipe.transform(this.day.setDate(this.day.getDate()+7)));
console.log("anht",' ' +new Date());
}
}
app.component.html应用程序组件.html
<mat-form-field>
<input matInput [matDatepicker]="picker" placeholder="Choose a date" [formControl]="date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
original idea of Arthur z and Gil Epshtain, I have changed moment
to date-fns
.亚瑟z和吉尔Epshtain的最初的想法,我已经改变
moment
到date-fns
。 tested in angular @angular/material": "^10.0.2
.在角度
@angular/material": "^10.0.2
。
Create CustomDateAdapter.ts
and implement it like this:创建
CustomDateAdapter.ts
并像这样实现它:
import { NativeDateAdapter } from "@angular/material/core";
import { format } from 'date-fns';
import { es } from 'date-fns/locale'
export class CustomDateAdapter extends NativeDateAdapter {
format(date: Date, displayFormat: Object): string {
var formatString = (displayFormat === 'input')? 'DD.MM.YYYY' : 'dd-MM-yyyy';
return format(date, formatString, {locale: es});
}
}
In your app.module.ts :在您的app.module.ts 中:
import { DateAdapter } from '@angular/material';
providers: [
...
{
provide: DateAdapter, useClass: CustomDateAdapter
},
...
]
angular material date will return the format below (just console.log to see it) angular material date 将返回以下格式(只需console.log即可查看)
Moment {_isAMomentObject: true, _i: {…}, _isUTC: false, _pf: {…}, _locale: Locale, …} _d: Thu Jan 28 2021 00:00:00 GMT+0800 (Singapore Standard Time) {}时刻 {_isAMomentObject: true, _i: {...}, _isUTC: false, _pf: {...}, _locale: Locale, ...} _d: Thu Jan 28 2021 00:00:00 GMT+0800(新加坡标准时间){}
_i: {year: 2021, month: 0, date: 28} _i:{年:2021,月:0,日期:28}
_isAMomentObject: true........ _isAMomentObject: 真......
so I convert to short date by using template literals所以我使用模板文字转换为短日期
due_date = ${due_date._i.year}-${due_date._i.month + 1}-${due_date._i.date}
Due_date =
${due_date._i.year}-${due_date._i.month + 1}-${due_date._i.date}
you will get "YYYY-MM-DD" format你会得到“YYYY-MM-DD”格式
This is work for me!这是为我工作!
import {Component} from '@angular/core';
import {FormControl} from '@angular/forms';
import {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';
import {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';
// Depending on whether rollup is used, moment needs to be imported differently.
// Since Moment.js doesn't have a default export, we normally need to import using the `* as`
// syntax. However, rollup creates a synthetic default module and we thus need to import it using
// the `default as` syntax.
import * as _moment from 'moment';
// tslint:disable-next-line:no-duplicate-imports
import {default as _rollupMoment} from 'moment';
const moment = _rollupMoment || _moment;
// See the Moment.js docs for the meaning of these formats:
// https://momentjs.com/docs/#/displaying/format/
export const MY_FORMATS = {
parse: {
dateInput: 'LL',
},
display: {
dateInput: 'LL',
monthYearLabel: 'MMM YYYY',
dateA11yLabel: 'LL',
monthYearA11yLabel: 'MMMM YYYY',
},
};
/** @title Datepicker with custom formats */
@Component({
selector: 'datepicker-formats-example',
templateUrl: 'datepicker-formats-example.html',
providers: [
// `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your
// application's root module. We provide it at the component level here, due to limitations of
// our example generation script.
{
provide: DateAdapter,
useClass: MomentDateAdapter,
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]
},
{provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},
],
})
export class YourDatepickerUsedComponent {
date = new FormControl(moment());
}
Link: https://material.angular.io/components/datepicker/examples and search "Datepicker with custom formats"链接: https ://material.angular.io/components/datepicker/examples 并搜索“具有自定义格式的日期选择器”
This code uses the built-in Angular DatePipe
to do the formatting and allows for DatePicker formats to be changed on an individual basis, defaulting to MAT_NATIVE_DATE_FORMATS
.此代码使用内置的 Angular
DatePipe
进行格式化,并允许单独更改 DatePicker 格式,默认为MAT_NATIVE_DATE_FORMATS
。
import { DatePipe } from '@angular/common';
import { Injectable } from '@angular/core';
import { MAT_NATIVE_DATE_FORMATS, MatDateFormats, NativeDateAdapter } from '@angular/material/core';
@Injectable()
export class DatePipeDateAdapter extends NativeDateAdapter {
override format(date: Date, displayFormat: Object): string {
// Use DatePipe to format date however you specify
if (typeof displayFormat === 'string') {
return new DatePipe('en-US').transform(date, displayFormat) as string;
}
// Default to parent class format() if no custom format string is given
return super.format(date, displayFormat);
}
static createCustomMatDateFormats(displayFormat: string): MatDateFormats {
const customDateInputFormats: MatDateFormats = {
...MAT_NATIVE_DATE_FORMATS,
display: {
...MAT_NATIVE_DATE_FORMATS.display,
dateInput: displayFormat,
}
}
return customDateInputFormats;
}
}
@Component({
...,
// By providing these in the component, only DatePickers used inside this component will be affected. If you want all DatePickers to be affected, provide these inside AppModule.
providers: [
{ provide: DateAdapter, useClass: DatePipeDateAdapter },
{
provide: MAT_DATE_FORMATS,
// Pass any format string you would pass to DatePipe
useValue: DatePipeDateAdapter.createCustomMatDateFormats('EEE, MMM dd, yyyy'),
},
],
})
Igor's answer didn't work for me either.伊戈尔的回答对我也没有用。 So I came along with the following solution:
所以我提出了以下解决方案:
Adapter:适配器:
export const APP_DATE_FORMATS = {
...MAT_DATE_FORMATS,
parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},
display: {
dateInput: {month: 'short', year: 'numeric', day: 'numeric'},
monthYearLabel: {month: 'short', year: 'numeric'},
}
};
@Injectable()
export class AppDateAdapter extends NativeDateAdapter {
actualYear = (new Date()).getFullYear() - 2000;
format(date: Date, displayFormat: Object): string {
if (displayFormat === APP_DATE_FORMATS.display.dateInput) {
const day = date.getDate();
const month = date.getMonth() + 1;
const year = date.getFullYear();
return `${AppDateAdapter._to2digit(day)}.${AppDateAdapter._to2digit(month)}.${year}`;
}
return date.toLocaleDateString();
}
private static _to2digit(n: number) {
return ('00' + n).slice(-2);
}
parse(value: any): Date | null {
const matches = value.match(/[0-9]{1,2}[\.\-\/][0-9]{1,2}([\.\-\/][0-9]{1,4})?/gi);
if (matches) {
const splits = value.split(/[\.\-\/]/);
const year = splits[2] ?
(splits[2] <= this.actualYear + 10 ?
Number(splits[2]) + 2000 :
splits[2]) :
this.actualYear + 2000;
return new Date(year,splits[1] - 1, splits[0]);
}
return new Date(value);
}
}
Providers:供应商:
providers: [
{ provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS },
{ provide: DateAdapter, useClass: AppDateAdapter },
]
Advantages:优点:
3.6.
3.6.
.-/
as seperators.-/
作为分隔符From documentation:从文档:
Customizing the parse and display formats
The MD_DATE_FORMATS object is just a collection of formats that the datepicker uses when parsing and displaying dates. These formats are passed through to the DateAdapter so you will want to make sure that the format objects you're using are compatible with the DateAdapter used in your app. This example shows how to use the native Date implementation from material, but with custom formats.
@NgModule({
imports: [MdDatepickerModule],
providers: [
{provide: DateAdapter, useClass: NativeDateAdapter},
{provide: MD_DATE_FORMATS, useValue: MY_NATIVE_DATE_FORMATS},
],
})
export class MyApp {}
Here's my solution with the least amount of code and using the MAT_NATIVE_DATE_FORMATS
.这是我使用最少代码并使用
MAT_NATIVE_DATE_FORMATS
解决方案。
import { MatDateFormats, MAT_NATIVE_DATE_FORMATS } from '@angular/material';
export const GRI_DATE_FORMATS: MatDateFormats = {
...MAT_NATIVE_DATE_FORMATS,
display: {
...MAT_NATIVE_DATE_FORMATS.display,
dateInput: {
year: 'numeric',
month: 'short',
day: 'numeric',
} as Intl.DateTimeFormatOptions,
}
};
@Component({
selector: 'app-vacation-wizard',
templateUrl: './vacation-wizard.component.html',
styleUrls: ['./vacation-wizard.component.scss'],
providers: [
{ provide: MAT_DATE_FORMATS, useValue: GRI_DATE_FORMATS },
]
})
Don't forget to set the appropriate language!不要忘记设置适当的语言!
this.adapter.setLocale(this.translate.currentLang);
That's all!仅此而已!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.