【问题标题】:How to include leading zeros in Angular Material Date Picker?如何在 Angular Material Date Picker 中包含前导零?
【发布时间】:2019-03-04 19:55:11
【问题描述】:

使用 Angular 材质 5。

我希望日期选择器显示 01/01/2000 而不是 1/1/2000。我阅读了文档,但没有看到任何关于此的内容。

有没有简单的方法来实现这个?还是我最终必须以某种方式创建自己的格式?

【问题讨论】:

标签: angular datepicker angular-material


【解决方案1】:

您可以提供MatDateFormats 的自定义实现。

"@angular/material-moment-adapter" 添加到您的 npm 依赖项中。

将以下信息添加到您的根模块或您随后引用的单独材料模块。

import { NgModule } from '@angular/core';
import {
    MatDatepickerModule,
    MAT_DATE_LOCALE,
    MAT_DATE_FORMATS,
    DateAdapter,
    MatDateFormats
    } from '@angular/material';
import {
    MomentDateAdapter
} from '@angular/material-moment-adapter';

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

@NgModule({
    imports: [
        MatDatepickerModule,
    ],
    exports: [
        MatDatepickerModule,
    ],
    providers: [
        { provide: MAT_DATE_LOCALE, useValue: 'en-US' },
        { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
        { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS }
    ]
})
export class YourModule { }

【讨论】:

  • 别忘了安装 Moment.js:npm i moment(和我一样)
  • 如果涉及本地化,这将不起作用,对吧?
猜你喜欢
  • 1970-01-01
  • 2020-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-27
  • 1970-01-01
  • 2021-06-17
相关资源
最近更新 更多