我想实现的目标是,从当前日期开始通过过去和将来的事件过滤JSON,就像现在一样。我的"过去" API路由应仅显示过去的事件,例如此示例的"id":1
。
我可以用momentjs
和lodash
做到这一点吗?什么是正确的方法?
这是我的JSON数组,包含datetime
Timestamp。
[
{
"id": 1,
"datetime": "2017-08-18T15:15:00+0200",
},
{
"id": 2,
"datetime": "2020-03-31T10:30:00+0200",
},
{
"id": 3,
"datetime": "2020-03-31T10:30:00+0200",
}
]
您可以使用 date.parse()方法来解析字符串日期,并将其与当前时间和filter
进行比较:
const data = [
{
"id": 1,
"datetime": "2017-08-18T15:15:00+0200",
},
{
"id": 2,
"datetime": "2020-03-31T10:30:00+0200",
},
{
"id": 3,
"datetime": "2020-03-31T10:30:00+0200",
}
];
const pastDates = data.filter(x => Date.parse(x.datetime) < new Date());
const futureDates = data.filter(x => Date.parse(x.datetime) > new Date());
console.log("Past dates", JSON.stringify(pastDates, null, 4));
console.log("Future dates", JSON.stringify(futureDates, null, 4));