使用 Luxon moment js 检查数组中是否有 date/time 大于当前本地时间
Check if any date/time in array is greater then current local time using Luxon moment js
我目前正在根据一些 json 数据取回 2 组时间。我希望能够比较当前当地时间并检查它是否大于或小于我的 json 方案中的任何日期。
const result = [
{
"carId": "13122656-169f-45fa-be47-26c9d23dcb7b",
"carInstances": [
{
"carInstanceId": "47209558-f9e1-4f81-a600-5da6ce238a6e",
"carTime": "2020-09-23T21:45:00.000+0000",
"state": "COMPLETE",
}
],
"isPaused": false,
},
{
"carId": "13122656-169f-45fa-be47-26c9d23dcb7b",
"carInstances": [
{
"carInstanceId": "47209558-f9e1-4f81-a600-5da6ce238a6e",
"carTime": "2020-09-23T21:45:00.000+0000",
"state": "COMPLETE",
}
],
"isPaused": false,
},
];
const timeAgo = (date) => {
const now = DateTime.local();
const past = DateTime.fromISO(date);
const diff = past.diff(now, 'minutes');
return Math.floor(diff.minutes);
}
const listCarTime = (res) => {
return res.reduce((acc, car) => {
acc.push(...car.carInstances.map((instance) => instance.carTime));
return acc;
}, []);
}
console.log('result', timeAgo(results)); <----Returns NAN
您正在将 result(一个数组)传递给 timeAgo(date) 函数,该函数需要 iso 格式日期,然后(作为日期参数) 尝试解析它什么不能工作。当您传递正确的参数时,您的函数可以正常工作。您可以尝试使用正确的 iso 日期。
timeAgo("2020-09-23T21:45:00.000+0000") // return 255017.36843333332
const diffrences = result.map( res => res.carInstances.map( ins => timeAgo(ins.carTime) )).flat()
console.log("result", diffrences )
我目前正在根据一些 json 数据取回 2 组时间。我希望能够比较当前当地时间并检查它是否大于或小于我的 json 方案中的任何日期。
const result = [
{
"carId": "13122656-169f-45fa-be47-26c9d23dcb7b",
"carInstances": [
{
"carInstanceId": "47209558-f9e1-4f81-a600-5da6ce238a6e",
"carTime": "2020-09-23T21:45:00.000+0000",
"state": "COMPLETE",
}
],
"isPaused": false,
},
{
"carId": "13122656-169f-45fa-be47-26c9d23dcb7b",
"carInstances": [
{
"carInstanceId": "47209558-f9e1-4f81-a600-5da6ce238a6e",
"carTime": "2020-09-23T21:45:00.000+0000",
"state": "COMPLETE",
}
],
"isPaused": false,
},
];
const timeAgo = (date) => {
const now = DateTime.local();
const past = DateTime.fromISO(date);
const diff = past.diff(now, 'minutes');
return Math.floor(diff.minutes);
}
const listCarTime = (res) => {
return res.reduce((acc, car) => {
acc.push(...car.carInstances.map((instance) => instance.carTime));
return acc;
}, []);
}
console.log('result', timeAgo(results)); <----Returns NAN
您正在将 result(一个数组)传递给 timeAgo(date) 函数,该函数需要 iso 格式日期,然后(作为日期参数) 尝试解析它什么不能工作。当您传递正确的参数时,您的函数可以正常工作。您可以尝试使用正确的 iso 日期。
timeAgo("2020-09-23T21:45:00.000+0000") // return 255017.36843333332
const diffrences = result.map( res => res.carInstances.map( ins => timeAgo(ins.carTime) )).flat()
console.log("result", diffrences )