I have this simple js function:
function checkTime() {
var d1 = new Date();
var d2 = new Date('April 10, 2017 12:11:00');
if (d1 < d2) {
$('#modalnew').modal('show');
} else {
window.location.replace('https://www.example.php');
}
}
It works fine, but I don't understand the date comparison. This may be a "dumb" question, but I can't find answers on google. F.E.: - no code, just an example -
d1 (now) = April 10, 2017 12:22:00
d2 (date set) = April 10, 2017 12:11:00
Why is the d1 less than d2 and activates the window.location? In a logical order d1 it is 11 minutes greater than d2. On which parameter does it exactly compare?
In your case d1 is not less but more than d2 which is the expected result and hence the window.location.replace is executed .
While comparing the date it evaluates to if (d1.valueOf()< d2.valueOf()) . valueOf() delivers time in milliseconds since beginning of 00:00:00 UTC Thursday 1, January 1970 and then compares it.