3 回答
TA贡献1111条经验 获得超0个赞
您可以在组件中使用有角度的 DatePipe,并根据日期比较的结果返回转换后的日期格式。
成分:
constructor(datePipe: DatePipe) {}
date = new Date();
//returns formatted date based on date comparison
formatDay(date): string{
let today = new Date()
let yesterday = ( d => new Date(d.setDate(d.getDate()-1)) )(new Date);
if(this.isSameDate(today, date))
return this.datePipe.transform(date,'hh:mm a');
else if (this.isSameDate(yesterday, date))
return 'Yesterday'
else
return this.datePipe.transform(date,'MMMM d');
}
//checks if two dates are identical
isSameDate(d1, d2){
return d1.getDate() === d2.getDate() && d1.getMonth() === d2.getMonth() && d1.getFullYear() === d2.getFullYear();
}
模板:
{{formatDay(date)}}
你只需要import { DatePipe } from '@angular/common';在你的组件中添加DatePipe你的模块:(app.module.ts 如果你没有这个组件自己的模块)
providers: [DatePipe]
这是它的Stackblitz
添加回答
举报