Node.js 我如何使报价每天(从午夜到午夜)可赎回,而不是每24小时一次?

Node.js 我如何使报价每天(从午夜到午夜)可赎回,而不是每24小时一次?,node.js,reactjs,postgresql,Node.js,Reactjs,Postgresql,我试图了解如何修改我的“timeDiff”,以便我能够根据是否是新的一天以及是否是24小时来兑换。有什么建议吗 let timeDiff = prevRedemp ? Math.floor((new Date - new Date(prevRedemp.createdAt)) / 1000 / 60 / 60) : undefined; // daily use } else if (discFreq === 1) { if (timeDiff >=

我试图了解如何修改我的“timeDiff”,以便我能够根据是否是新的一天以及是否是24小时来兑换。有什么建议吗

let timeDiff = prevRedemp ? Math.floor((new Date - new Date(prevRedemp.createdAt)) / 1000 / 60 / 60) : undefined;

 // daily use
        } else if (discFreq === 1) {
          if (timeDiff >= 24 || prevRedemp === undefined) {
            return this.models.Redemption.create({
              UserUuid: userUuid,
              DiscountId: discountId,
              BusinessId: disc.dataValues.BusinessId,
              locationId: locationId || null
            }).then(redeemed => {
              return this.models.BusinessRating.findOne({
                where: {
                  UserUuid: userUuid,
                  BusinessId: disc.dataValues.BusinessId
                }
              }).then(rating => {
                if (rating) {
                  return redeemed;
                } else {
                  return this.models.Notification.create({
                    UserUuid: userUuid,
                    notifyDate: moment().format(),
                    notifyType: 'redemption',
                    RedemptionId: redeemed.id
                  }).then(() => redeemed);
                }
              });
            })
          } else {
            return `Discount cannot be redeemed again for ${24 - timeDiff} hours`;
          }

我不完全清楚您的最终问题是什么,但您可以在当前服务器时区中为下一个午夜边界创建日期对象,如下所示:

让midnt=新日期();
午夜设定时间(24);//将时间设置为下一个午夜边界
中期设置分钟数(0);//将分、秒、毫秒清除为零
中间设置秒(0);
midnt.SET毫秒(0);

log(midnt.toString())这确实为我的问题提供了解决方案。非常感谢。