简体   繁体   中英

how to subtract db time from real time

I have this:

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

what it does is gets the current minute (ex. 54th minute of the hour), and subtract it from the minute that is in my database. If my db minute is within 5 minutes of the current minute, then do the next part.

However, in my db is both minute and hour . i need to check if the time in my db is within 5 minutes of the current time. minute and hour are both just string values. How can i do this?

You have the hour and the minute and you need to check whether that is within 5 minutes of the current time.

What you can do is build a date object for the same day, but using the time you have stored. So, if you have your minute and hour you want to compare, then you can do this:

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

Now you have two date objects that you can compare. When you subtract one from the other, the result will be in milliseconds, so you need to do some work to convert that to minutes. In this case we divide by 1000 to get seconds and then divide by 60 to get minutes. Then you apply the absolute function and check if it is less than 5.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM