use*_*775 7 angular-material angular
我正在 Angular 7 中开发一个应用程序。有一个日期字段,我在其中使用 Angular 材料日期选择器输入。问题是,选择日期时,日期选择器始终采用用户本地时区。但我想将其设置为特定时区,例如东部或太平洋时区。当用户选择日期时,它应该始终是特定的时区,例如。2019 年 6 月 22 日 23:59 太平洋。我是角度新手。在 Angular 7 应用程序中如何做到这一点?先感谢您。
小智 3
从 Angular Material 文档 来看,提供的 DateAdapter 的默认设置是使用用户的时区。
您必须提供自己的 DateAdapter 来覆盖它。
我发现这个 StackBlitz 示例展示了解决此问题的可能方法,但尚未尝试。
这是其中的一个片段:
@Injectable()
export class CustomDateAdapter extends MomentDateAdapter {
constructor( @Optional() @Inject(MAT_DATE_LOCALE) dateLocale: string) {
super(dateLocale);
}
parse(value, parseFormat) {
if (value && typeof value == 'string') {
console.log(moment(value, parseFormat, this.locale, true));
return moment(value, parseFormat, this.locale, true);
}
return value ? moment(value).locale(this.locale) : undefined;
}
}
Run Code Online (Sandbox Code Playgroud)
并提供它(简单版本):
{ provide: DateAdapter, useClass: CustomDateAdapter }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16379 次 |
| 最近记录: |