javascript - 如何在node.js中比较特定场景的两天时间

标签 javascript node.js

我的shcema如下:

order.js:

order_time: { type: Date, default: Date.now() }

和restaurent.js:

 restaurent_starting_timing_one: { type: String, required: true },
 restaurent_closing_timing_one: { type: String, required: true },

我想要的是:

restaurent_ending_timing_one具有诸如0:30或7:30或4:15等之类的值时,它应该显示两天的订单,否则显示一天。

那么我可以实现这个目标吗?

最佳答案

const getOrders = (restaurent => {
    const selectedTime = ["0:30", "0:30", "4:15"];
    const days = selectedTime.includes(restaurent.restaurent_closing_timing_one) ? 2 : 1;

    const currentTime = moment();

    const startTime = currentTime.format("YYYY-MM-DD");
    const endTime = currentTime.subtract(days, 'days').format("YYYY-MM-DD");

    orders.find({
        order_time: {
            $gte: new Date(endTime),
            $lt: new Date(startTime),
        }
    })
});

我还没有测试过,但这应该可行。您可能需要根据您的用例修改一些内容

关于javascript - 如何在node.js中比较特定场景的两天时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48699188/

相关文章:

javascript - JavaScript 中计算小数点后的数字

javascript - 如何访问 angularjs Controller 中的变量?

javascript - 异步函数和 Readline 使用

node.js - express 不响应路线

ajax - 使用 CORS 登录expressjs 应用程序

javascript - 使用 sinonjs 测试方法调用的上下文

javascript - Angular 2 NgFor Regex 消息错误 - [(ngModel)] 有效,但 ngModel 未定义

javascript - 将 PHP 数组传递给 Javascript w/o 显示在源代码中

javascript - Node.js 和 Express 应用程序中的 res.render() 和 ejs.render() 有什么区别

Node.js 在 child_process.fork 上调用函数