Я использую следующий шаблон:
{{ item.EVPDATA | date: "dd.mm.yyyy HH:mm" }}
Значение item.EVPDATA - это время UNIX 1566473370:
item.EVPDATA
1566473370
Я получаю отформатированные данные как:
19.07.1970 07:07
Почему я получаю неправильные данные?
Поскольку ваши данные находятся во времени Unix, поэтому перед передачей их в конвейер Date необходимо преобразовать их в метку даты Date (на * 1000), должен работать приведенный ниже код -
{{ (item.EVPDATA * 1000) | date: "dd.MM.yyyy HH:MM"}}
Рабочий пример Stackblitz
Для более кратких значений трубы для Date вы можете обратиться -
try: {{item.EVPDATA |дата: "дд.мм.гггг ЧЧ: мм"}}
Вы можете использовать пользовательские трубы:
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 }}
См. образец
Вот документы для DatePipe: https://angular.io/api/common/DatePipe
Вы пробовали это:
{{ item.EVPDATA * 1000 | date: 'EEEE, MMMM d, y, h:mm:ss a zzzz' }}