hyperfkcb hyperfkcb - 3 years ago 183
Javascript Question

JavaScript compare two time strings

I have two string for time, one is current time and the other one is twenty minutes later. Here is the output:

10/1/2017 1:20:58 PM
10/1/2017 1:40:58 PM


Here is the code:

var now = new Date();
console.log(now.toLocaleDateString() + " " + now.toLocaleTimeString());
var in20 = new Date(now.getTime() + (1000*60*20));
console.log(in20.toLocaleDateString() + " " + in20.toLocaleTimeString());


Is there any way to check if the variable for twenty minutes later is before or after the current time variable as I not sure how to make time comparison based on two time strings. If it is after current time variable, return a true, otherwise return a false.

Any ideas? Thanks!

Answer Source

Best way to compare the 2 time string is convert them to milliseconds and then compare. For Eg.

var now = new Date();
console.log(now.toLocaleDateString() + " " + now.toLocaleTimeString());
var in20 = new Date(now.getTime() + (1000*60*20));
console.log(in20.toLocaleDateString() + " " + in20.toLocaleTimeString());

// at any instant suppose now is cuurent time then you can compare like

if(now.getTime() > in20.getTime()) {
  console.log('current is greater')
} else {
  console.log('in20 is greater')
}

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download