我有一个JSON数据,其中包含jan 23,2018
之类的日期。
如何比较JSON数据日期和当前日期?
[
{
"id": "user_1",
"date": "jan 23, 2019"
},
{
"id": "user_2",
"date": "mar 3, 2017"
},
{
"id": "user_3",
"date": "feb 23, 2019"
}
]
如何使用jmespath获取日期大于当前日期的数据?
答案 0 :(得分:0)
const array = [
{
"id": "user_1",
"date": "jan 23, 2019"
},
{
"id": "user_2",
"date": "mar 3, 2017"
},
{
"id": "user_3",
"date": "feb 23, 2019"
}
];
const newArray = array.map((value) => {
value.date = new Date(value.date).getTime();
return value;
});
console.log(newArray);
console.log('current time in milliseconds ', new Date().getTime());
/* array.forEach((value) => {
const date = new Date(value.date);
console.log(date);
}); */
// console.log('current date', new Date());
循环数组并将日期字符串传递到new Date()
以获取日期对象,然后可以将其与当前日期进行比较。
编辑:现在,您可以直接使用毫秒来比较日期。
答案 1 :(得分:0)
您可以使用JMESPath Custom函数来实现。您需要将日期转换为纪元以便比较日期,因为JMESPath不了解日期对象。
您可以在“自定义功能”部分参考以下示例:https://pypi.org/project/jmespath/
我创建了自己的自定义函数,以检查过去的日期是否已超过当前时间至少一定的秒数。这是我的代码:
iframe