我不太擅长处理datetime。我将momentjs用于离子应用程序来操纵时间,但我想实现一些我做不到的事情。
我为此使用了一个管道,我想根据过去的天数或几周、几个月或几年来显示。使用相对时间会帮助我喜欢momentjs的fromNow()
方法和calendar()
。但就我而言,我会有多个.conditions
这是我的管道下面的示例代码
transform(value: Date | moment.Moment, dateFormat: string): any {
if (moment(value) < moment(value).subtract(7, 'days')) {
return moment(value).format('llll') // Use this format if weeks, months or years has passed
} else if (moment(value) < moment(value).subtract(1, 'days')) {
return moment(value).calendar(); // Use calendar time if 1 day has passed
} else {
return moment(value).fromNow(); // Use relative time if within 24 hours
}
}
如果几秒钟、几分钟或几小时已经过去,直到 24 小时,我将使用该fromNow()
方法,但当几天过去时,我将使用 the calendar()
,如果几周、几个月或几年过去,则使用 this format('llll')
。
有人可以为我解释一下吗?
提前致谢。