我的 Angular 2 应用程序中显示了一个日期,该日期以不需要的格式打印,如下所示:2012-04-02T00:00:00.000Z
我想做的是使用 Angular 的日期管道来转换这些数据,以便它以更人性化的格式打印。有没有办法在使用双向绑定的输入上使用日期管道?换句话说,我可以在如下所示的代码上使用日期管道吗?
<input class="app-input" [(ngModel)]="staff.profile.hireDate" placeholder="None"/>
我已经尝试了各种尝试,但到目前为止都无法使其正常工作。因此,我想知道这是否可能。
而且,如果没有,我可以通过普通 JS 处理这个问题的替代方法是什么?我对任何有效且最容易实现的可能性持开放态度。
您可以在组件中执行此操作。
import { DatePipe } from '@angular/common';
然后将其添加到组件或 ngModule 中的providers
数组中。
在你的组件中,你在构造函数中注入它:
constructor(private myDatePipe: DatePipe) {}
并修改变量属性:
this.staff.profile.hireDate =
this.myDatePipe.transform(new Date(this.staff.profile.hireDate));
如果要指定输出,例如在此处使用 'short'
选项:
this.staff.profile.hireDate =
this.myDatePipe.transform(new Date(this.staff.profile.hireDate), 'short');