DatePipe格式不适用于表中的日期

时间:2019-03-22 19:06:51

标签: angular

我正在开发一个简单的应用程序,我想在其中显示表中的一些事件。显示数据可以正常工作,除了当我尝试格式化日期时,它不再显示。

我尝试从Pipe导入PipeTransform"@angular/core",并从DatePipe导入"@angular/common",但这并没有改变。任何格式,无论是"fullDate"这样的预定义格式,还是"dd.MM.y"这样的自定义格式,都不会使日期显示在表中。

这些是表主体中的td标记,如果我这样显示日期而不格式化,则显示得很好。

<tr *ngFor="let event of eventList" style="cursor:pointer;">
     <td (click)="onSelect(event.id)" style="padding-bottom: 1.3em">{{event.name}}</td>
     <td (click)="onSelect(event.id)">{{event.city}}</td>
     <td (click)="onSelect(event.id)">{{event.startTime}}</td>
     <td (click)="onSelect(event.id)">
         <mat-icon *ngIf="event.isConfirmed" style="padding-left: 23px">done</mat-icon>
         <mat-icon *ngIf="!event.isConfirmed" style="padding-left: 23px">clear</mat-icon>
     </td>
</tr>

这是我尝试格式化日期的方式:

<td (click)="onSelect(event.id)">{{ event.startTime | date : "dd.MM.y" }}</td>

我对Angular还是很陌生,所以请随时指出错误。 我是否缺少导入语句,还是其他td标签的样式弄乱了日期?任何帮助深表感谢!

2 个答案:

答案 0 :(得分:0)

请确保已将CommonModule导入到与使用日期管道的component.html相同的module.ts中。

sample.module.ts:

import { CommonModule } from '@angular/common';

 .
 .
@NgModule({
  imports: [ 
    CommonModule,
  ],
  .
  .
}) 

我使用与您使用的日期完全相同的日期为您制作了demo

答案 1 :(得分:0)

我发现了问题,我正在使用ASP.NET Boilerplate框架,显然本地化存在问题。当我将语言设置为英语(默认)时,格式化日期显示得很好。我出于测试目的将其设置为荷兰语,并且在尝试格式化时发现控制台错误Missing locale data for the locale "nl".' for pipe 'DatePipe'

无论如何,感谢所有帮助!