如何在 ngx-mat-datetime-picker 中自定义日期和时间格式?

Pri*_*nce 2 angular-material angular-material2 date-pipe angular angular8

我正在研究 Angular7 及其兼容的ngx-mat-datetime-picker。它按预期工作。

想自定义格式:

实际: mm/dd/yyyy, hh:mm:ss 预期: yyyy-mm-dd hh:mm:ss

目前我没有找到任何格式化选项。

我在模板中尝试过类似的东西 value="{{ mydate | date: 'yyyy-mm-dd hh:mm:ss' }}

但不工作。

Nan*_*amy 5

您需要创建自定义适配器并指定自定义格式

const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
  parse: {
    dateInput: 'l, LTS'
  },
  display: {
    dateInput: 'YYYY-MM-DD HH:mm:ss',
    monthYearLabel: 'MMM YYYY',
    dateA11yLabel: 'LL',
    monthYearA11yLabel: 'MMMM YYYY',
  }
};

@NgModule({
  providers: [
    {
      provide: NgxMatDateAdapter,
      useClass: CustomNgxDatetimeAdapter,
      deps: [MAT_DATE_LOCALE, NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS]
    },
    { provide: NGX_MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS }
  ],
})
export class CustomNgxDateTimeModule { }
Run Code Online (Sandbox Code Playgroud)

请从以下要点中找到 CustomNgxDatetimeAdapter.ts

https://gist.github.com/nandhakumargdr/635af05419793e15f3758656ddd1ef39

在此处输入图片说明

已经测试过了。这是工作!