Angular material 如何在mat datepicker中使用角度4/5和反应式表单支持dash dateformat

Angular material 如何在mat datepicker中使用角度4/5和反应式表单支持dash dateformat,angular-material,angular4-forms,Angular Material,Angular4 Forms,我正在尝试自定义日期格式。我正在尝试呈现[mm dd yyyy]日期格式,但它不支持 具有angular 4 new form控件的new Date()不接受此日期格式 但当我们传递它时,它将console.log无效日期。Angular Material使用moment.js定制日期格式,如前所述 因此,要使其发挥作用,请尝试以下方法: ... import {MAT_MOMENT_DATE_FORMATS, MomentDateAdapter} from '@angular/material

我正在尝试自定义日期格式。我正在尝试呈现[mm dd yyyy]日期格式,但它不支持

具有angular 4 new form控件的new Date()不接受此日期格式


但当我们传递它时,它将console.log无效日期。

Angular Material使用moment.js定制日期格式,如前所述

因此,要使其发挥作用,请尝试以下方法:

...
import {MAT_MOMENT_DATE_FORMATS, MomentDateAdapter} 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;

/** @title Datepicker that uses Moment.js dates */
@Component({
  ...
  providers: [
    // `MomentDateAdapter` and `MAT_MOMENT_DATE_FORMATS` can be automatically provided by importing
    // `MatMomentDateModule` in your applications 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]},
    {provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS},
  ],
})
export class DatepickerMomentExample {
  // Datepicker takes `Moment` objects instead of `Date` objects.
  date = new FormControl(moment([2017, 0, 1]));
}

您可以尝试使用最好的库来管理日期:

如果您查看文档,您肯定会发现如何执行您正在寻找的验证

否则,发布您正在尝试的代码