如何获得这种日期格式2018-05-23T23:00:00.000 + 00:00?

时间:2019-07-24 05:58:12

标签: javascript angular mongoose

我正在尝试按日期过滤某些信息,并且日期以以下格式保存在数据库中:

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);
    });

});     

3 个答案:

答案 0 :(得分:0)

您可以使用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());

});  

答案 1 :(得分:0)

您可以通过将日期转换为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

您可以通过将时间传递到datetime管道并指定格式来显示时间。如果要对其执行任何其他操作,则可以使用另一个答案(https://www.w3schools.com/jsref/jsref_obj_date.asp)中提到的链接对该对象执行此操作。

答案 2 :(得分:0)

好吧,我尝试将其切成薄片,并且有效

 $lt: new Date(req.query.toDate).toISOString().slice(0,21), 
 $gte: new Date(req.query.fromDate).toISOString().slice(0,21)