我正在尝试按日期过滤一些信息,在我的数据库中,日期以以下格式保存:
2018-05-23T23:00:00.000+00:00
这就是我试图做的
router.get('/byDate', function (req, res) {
req.query.fromDate
req.query.toDate
Schedule.find({ date : {
$lt: new Date(req.query.toDate).toISOString(),
$gte: new Date(req.query.fromDate).toISOString()
} } , function(err, data){
if(err) throw err;
res.json(data);
});
});
JavaScript 日期参考从时间戳中获取信息。创建一个日期对象并传递时间戳,您可以使用日期对象提供的许多属性。
欲了解更多信息,请查看:https://www.w3schools.com/jsref/jsref_obj_date.asp
希望这有帮助。
router.get('/byDate', function (req, res) {
req.query.fromDate
req.query.toDate
let fromdate = new Date(Date.parse(req.query.fromDate));
let month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
console.log('Day --->' + fromdate.getDay());
console.log('Month -->' + month[fromdate.getMonth()]);
console.log('Year -->' + fromdate.getFullYear());
});
可以通过将日期转换为 ISO 字符串来获取您指定的格式。但是,您将需要执行更多操作才能获得此特定所需格式。
例如:我试过这个。 this.date = new Date();
this.formattedDate = this.date.toISOString();
输出为 Wed Jul 24 2019 12:08:15 GMT+0530 (India Standard Time)
2019-07-24T06:38:15.837Z
传递到日期时间管道并指定格式来显示时间。如果要对其执行任何其他操作,可以使用其他答案(https://www.w3schools.com/jsref/jsref_obj_date.asp(中提到的链接对此对象执行此操作。
我试图像那样切片它,它有效
$lt: new Date(req.query.toDate).toISOString().slice(0,21),
$gte: new Date(req.query.fromDate).toISOString().slice(0,21)