Я выбрал другой подход, чем использование amDifference / custom pipe. Смотрите мой код и предлагайте / делитесь отзывами. Я рассчитываю разницу в минутах в самом классе.
order.ts
export class Order {
mins:number;
constructor(private id:number, private time:Date, private now:Date) {
let diffInMilliSecs:number = (this.now.getTime()-time.getTime()) ;
let diffinMins: number = diffInMilliSecs / 1000/60;
this.mins =Math.round(diffinMins);
}
}
app.component.ts
import { Component} from '@angular/core';
import { Order } from './order';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent{
title = 'Orders';
dateNow=new Date();
orders = [ new Order(1,new Date("13 Mar 2019 19:50:14 EDT"),this.dateNow),
new Order(1,new Date("13 Mar 2019 20:15:20 EDT"),this.dateNow),
new Order(1,new Date("13 Mar 2019 20:45:55 EDT"),this.dateNow),
new Order(1,new Date("13 Mar 2019 20:15:02 EDT"),this.dateNow),
new Order(1,new Date("13 Mar 2019 20:15:00 EDT"),this.dateNow)];
}
app.component.html
<h1> {{title}} </h1>
<h3> Time Now: {{dateNow}}</h3>
<table>
<tr><th> Order#</th> <th>Order time</th> <th>Wait time (in mins)</th></tr>
<tr *ngFor="let order of orders">
<td>{{order.id}}</td>
<td>{{order.time | date:'medium'}}</td>
<td>{{order.mins}}</td>
</tr>
</table>