开发者问题收集

TypeError:yesterday.setHours 不是一个函数

2020-08-02
1086

我尝试查询今天和昨天的结果,但是当我尝试更改时间以获取整整两天的时间时,出现以下错误

TypeError: yesterday.setHours is not a function

这是我的功能

exports.getReport = async (req ,res) => {
    const date = new Date();
    let today = date.setDate(date.getDate());
    let yesterday = date.setDate(date.getDate() - 1);
    yesterday.setHours(0,0,0,0)
    today.setHours(23,59,59,999)
    
    const items = await Item.find({created: {$gte: yesterday, $lte: today}});
 
    res.json({items})
} 

有什么想法吗?

1个回答
const date = new Date();
    let today = new Date(date.setDate(date.getDate()));
    let yesterday = new Date(date.setDate(date.getDate() - 1));
    yesterday.setHours(0,0,0,0)
    today.setHours(23,59,59,999)

查找 setDate 返回一个时间标记,因此 typeof 昨天将是一个数字而不是日期时间,检查上述代码片段

Abdelrahman Hussien
2020-08-02