我在Ionic(Angular)中构建了一个管道,用于将时间转换为从现在开始的时间'。
这是我使用的地方:
dateOfEvent = '2018-02-05 19:45:40';
<p>{{dateOfEvent | timeago}}</p>
预期产量:40分钟前
返回输出:2小时前
这是我的管道
import { Pipe, PipeTransform } from '@angular/core';
import * as moment from 'moment';
moment.locale('pt-br');
@Pipe({
name: 'timeago',
})
export class TimeagoPipe implements PipeTransform {
transform(value) {
let timeAgo = moment(value).fromNow();
return timeAgo;
}
}
你能看出我做错了吗?
答案 0 :(得分:0)
刚刚解决了这个问题。我不知道这是不是最好的方法,但是如果有人有一个更好的方法,只是发布在这里,我会改变最佳答案。
我所做的只是将dateOfEvent
格式化为片刻值。
然后我根据格式化的值得到timeAgo
,而不是直接来自db的那个(我的数据库中的那个也是当时生成的,但是某些时候它没有认识到从db检索的那一刻)
所以修正后的管道是:
transform(value) {
let formatted = moment().format(value);
let timeAgo = moment(formatted).fromNow();
return timeAgo;
}
感谢您的帮助!