angular2材料2日期选择器 - 输出日期格式
问题描述:
我在我的angular4项目中使用https://material.angular.io/components/component/datepicker。如何在输入框中格式化选定日期,例如“2017年5月29日”等短格式。目前,它显示为29/05/2017angular2材料2日期选择器 - 输出日期格式
示例代码:
<md-input-container>
<input mdInput readonly="true" [mdDatepicker]="startDatePicker" [mdDatepickerFilter]="myFilter" [min]="minDate" [max]="maxDate" class="date-text ng-dirty ng-valid-parse ng-touched ng-not-empty ng-valid ng-valid-required" placeholder="Choose a date">
<button mdSuffix [mdDatepickerToggle]="startDatePicker" class="date-icon"></button>
</md-input-container>
<md-datepicker #startDatePicker [dateFormat]="'LL'" startView="month" [startAt]="currentDate"></md-datepicker>
TS:
@ViewChild('startDatePicker') startDatePicker: MdDatepicker<Date>;
PS。 [dateFormat] =“'LL'”不起作用
答
您目前无法轻松设置日期格式。 Material 2 Datepicker API中没有这种属性,更改格式的唯一正确方法是提供您自己的DateAdapter实现。官方文件没有提供任何有关的说明。现在只有一个基本的implementetion,它定义了根据区域的格式。有很多抱怨,更多的适配器应该很快来。您可以尝试使用基于从this问题线程的moment.js的问题或只是等待。
您还可以使用语言环境在Datepicker中获取不同的格式。但它只是一种变通方法,直到一个适当的官方的解决方案来:
export class AppModule {
constructor(private dateAdapter:DateAdapter<Date>) {
dateAdapter.setLocale('de'); // DD.MM.YYYY
}
}
答
我宁愿使用模块供应商为:
@NgModule({
...
providers: [
{ provide: LOCALE_ID, useValue: navigator.language }
...
]
})
export class AppModule { }
,或者您可以通过代替navigator.language“德”实现与上述相同。
请发布您的代码。您在发布日期格式的链接中有一个部分。 –
更新:)谢谢 – d123546
您可以请发布解决方案吗? –