React - 过滤日期数组时出错
React - getting error when filter array of dates
这给了我一组 createdAt 时间戳,例如:['2022-05-22T21:57:45.202Z', '2022-05-22T21:57:45.205Z']
const unpaid = feeStatus.map((date) => {
return date.createdAt;
});
现在我想尝试过滤数组并仅显示早于 14 天的日期:
unpaid.filter(
(test) => new Date().getTime() - test.getTime() / (1000 * 60 * 60 * 24) > 14
);
但我收到此错误:未捕获的类型错误:test.getTime 不是函数
您需要将字符串格式日期转换为 Date
才能使用其原型方法:
unpaid.filter(
(test) => new Date().getTime() - new Date(test).getTime() / (1000 * 60 * 60 * 24) > 14
);
首先,getTime()
函数是Date
对象的一个方法。因此,您需要将字符串转换为有效的 Date
对象。例如new Date(str)
,或者使用库来处理它,比如 date-fns
.
其次,您的公式中缺少一组括号。应该是:
(new Date().getTime() - new Date(test)) / (1000 * 60 * 60 * 24) > 14
.
参考文献:
这给了我一组 createdAt 时间戳,例如:['2022-05-22T21:57:45.202Z', '2022-05-22T21:57:45.205Z']
const unpaid = feeStatus.map((date) => {
return date.createdAt;
});
现在我想尝试过滤数组并仅显示早于 14 天的日期:
unpaid.filter(
(test) => new Date().getTime() - test.getTime() / (1000 * 60 * 60 * 24) > 14
);
但我收到此错误:未捕获的类型错误:test.getTime 不是函数
您需要将字符串格式日期转换为 Date
才能使用其原型方法:
unpaid.filter(
(test) => new Date().getTime() - new Date(test).getTime() / (1000 * 60 * 60 * 24) > 14
);
首先,getTime()
函数是Date
对象的一个方法。因此,您需要将字符串转换为有效的 Date
对象。例如new Date(str)
,或者使用库来处理它,比如 date-fns
.
其次,您的公式中缺少一组括号。应该是:
(new Date().getTime() - new Date(test)) / (1000 * 60 * 60 * 24) > 14
.
参考文献: