javascript 使用日期序列化提取记录

3lxsmp7m  于 2023-02-15  发布在  Java
关注(0)|答案(1)|浏览(92)

如何使用deliveryDate作为参数获取同一天内的所有记录。
例如,当将2023-02-13T12.23.00作为参数传递时,我应该获取同一天内的记录,即2023-02-13T09.23.002023-02-13T16.01.00,而不管使用 * Sequelize * 的时间戳如何。
下面是我正在使用的查询:

const result = await Order.findOne({
    where: {
      leaderId: leaderId,
      deliveryDate: deliveryDate
    }
  });
bakd9h0s

bakd9h0s1#

您应该使用 sequelize 查询运算符组合较低和较高的Date范围:

let deliveryDate; // some `deliveryDate` being a Date object (make sure to format it properly and have the desired timezone)
cont low = new Date(now.getFullYear(), now.getMonth(), now.getDate())
const high = low = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59, 999);

const result = await Order.findOne({
    where: {
      [Op.and] : [
        {
          leaderId: leaderId
        },
        {
          deliveryDate: {
              [Op.lt]: high,
            [Op.gt]: low
          }
        }
      ]
    }
});

相关问题