为什么格式化数据不起作用 Angular?

Why formatting data is not working Angular?

我使用以下模式:

 {{ item.EVPDATA | date: "dd.mm.yyyy HH:mm" }}

item.EVPDATA 是 UNIX 时间 1566473370:

我得到格式化数据为:

 19.07.1970 07:07 

为什么我得到错误的数据?

尝试: {{ item.EVPDATA |日期:"dd.MM.yyyy HH:mm"}}

由于您的数据是 unix 时间的,因此在将其传递给日期管道之前,您需要将其转换为日期时间戳(按 *1000),下面的代码应该可以工作 -

{{ (item.EVPDATA * 1000) | date: "dd.MM.yyyy HH:MM"}}

Stackblitz Working Example

有关 Date 的更多 shorthand 管道值,您可以参考 -

以下是 DatePipe 的文档: https://angular.io/api/common/DatePipe

你试过这个吗:

{{ item.EVPDATA * 1000 | date: 'EEEE, MMMM d, y, h:mm:ss a zzzz' }}

您可以使用自定义管道:

import { Pipe, PipeTransform } from "@angular/core";
@Pipe({
  name: "mypipe"
})
export class MyPipe  implements PipeTransform {
  transform(unix: any): string {
    const time = new Date(unix * 1000)
    return time.toString();
  }
}

{{ item.EVPDATA | mypipe }}

the sample