如何从实时中减去分贝时间

how to subtract db time from real time

我有这个:

let minute = timeSplit[0];
let today = new Date();
if (Math.abs(today.getMinutes() - Number(minute)) <= 5) {
  client.messages.create(
    {
      to: userPhoneNumber,
      from: "12055578708",
      body:
        "hello " +
        userNameString +
        ", \nYour training session just finished with " +
        trainerNameString
    },
    function (err, data) {
      if (err) {
        console.log("err: " + err);
      }
      console.log(data);
    }
  );
} else {
  console.log("not working");
}

它所做的是获取当前分钟(例如一小时的第 54 分钟),然后从我数据库中的 minute 中减去它。如果我的数据库分钟在当前分钟的 5 分钟以内,则执行下一部分。

但是,在我的数据库中有 minutehour。我需要检查我的数据库中的时间是否在当前时间的 5 分钟内。 minutehour 都只是字符串值。我该怎么做?

你有小时和分钟,你需要检查它是否在当前时间的 5 分钟内。

您可以做的是为同一天构建一个日期对象,但使用您存储的时间。所以,如果你想比较分钟和小时,那么你可以这样做:

const today = new Date();
const myTime = new Date(today.getFullYear(), today.getMonth(), today.getDay(), hour, minute);

现在您有两个可以比较的日期对象。当您从另一个中减去一个时,结果将以毫秒为单位,因此您需要做一些工作将其转换为分钟。在这种情况下,我们除以 1000 得到秒,然后除以 60 得到分钟。然后你应用绝对函数并检查它是否小于 5.

const difference = Math.abs((today - myTime) / 1000 / 60);
if (difference <= 5) {
  // send message
} else {
  // don't send the message now
}