我想知道是否可以过滤/格式化ngFor日期(来自数据库)。我在数据库中具有日期格式:“ 2017-11-02 12:13:14”,但我想在ngFor表中仅显示“ 2017-11-02”。这可能吗?
<tr *ngFor="let myCar of cars>
<td>{{myCar.name}}</td>
<td>{{myCar.registered}}</td> //can I format retrieved date here?
</tr>
我只想知道我是否可以删除时间并仅向用户显示日期。我不确定PIPE是否可以工作。
答案 0 :(得分:3)
您可以使用.slice
来做到这一点:
<tr *ngFor="let myCar of cars>
<td>{{myCar.name}}</td>
<td>{{myCar.registered.slice(0, 10)}}</td>
</tr>
无需再次格式化
答案 1 :(得分:0)
https://angular.io/api/common/DatePipe
https://stackblitz.com/edit/angular-74cpp1?file=src/app/app.component.ts
<tr *ngFor="let myCar of cars>
<td>{{myCar.name}}</td>
<td>{{myCar.registered | date: 'yyyy-MM-dd'}}</td>
</tr>
答案 2 :(得分:0)
在app.component.ts中设置本地语言
moment.locale('pt-BR');
创建服务(fx date-utils.service.ts
)以格式化日期:
public formatDate(inputDate) { return moment(inputdate).format(); }
然后您可以在ts文件中使用它:
this.registered = dateUtilsService.formatDate(registered);