【发布时间】:2021-02-26 08:21:36
【问题描述】:
所以,这是关于使用具有日期/时间属性的 API。内容应每 3 小时更改一次,方法是将当前用户日期/时间与 API 的日期/时间进行比较,并在单独的数组中分配过去和即将到来的时间,以显示在页面的其他部分。我设法将过去和即将到来的日期分配给他们各自的数组。如果用户日期/时间等于或在属性中的 3 小时内,我需要比较日期并分配“当前数据”以在整个三个小时的持续时间内显示它。
this.dataService.getData().subscribe((data:any[])=>{
const now = new Date('2021-02-14 09:00:00');
for (const item of data) {
const apiDate = new Date(item.dateTime);
if(now.getTime() > apiDate.getTime()){
this.future.push('future dates')
} else if(now.getTime() < apiDate.getTime()){
this.past.push('past dates')
}else if(now.getTime() == apiDate.getTime()){
//in real time, they'll only be equal for one second
this.current = 'Show NOW'
}
}
这是API/Json Data retuned的结构
[ { "number": 10, "dateTime": "2021-02-14 00:00:00" }, { "number": 20, "dateTime": "2021-02-14 03:00:00" }, { "number": 30, "dateTime": "2021-02-14 06:00:00" }, { "number": 40, "dateTime": "2021-02-14 09:00:00" }, { "number": 50, "dateTime": "2021-02-14 12:00:00" }]
更好的方法会更好。
谢谢
【问题讨论】:
-
抱歉,您的问题是改进现有代码?:)
-
不,我的问题是如何将“消息”显示 3 个完整小时
标签: javascript angular