I have two variables namely
date1 = Mon Nov 25 2013 00:00:00 GMT+0530 (IST) date2 = Mon Nov 25 2013 14:13:55 GMT+0530 (IST)
When I compare the two dates I get that date2
is greater which I need is correct. But I do not want to check the time part of the two dates I have. How could I get the date part alone from these two dates and compare it?
var today = new Date(); //Mon Nov 25 2013 14:13:55 GMT+0530 (IST) d = new Date(my_value); //Mon Nov 25 2013 00:00:00 GMT+0530 (IST) if(d>=today){ //I need to check the date parts alone. alert(d is greater than or equal to current date); }
In Java, two dates can be compared using the compareTo() method of Comparable interface. This method returns '0' if both the dates are equal, it returns a value "greater than 0" if date1 is after date2 and it returns a value "less than 0" if date1 is before date2.
We can use the isAfter method to check if one date is after another. We create a moment object with a date string. Then we call isAfter on it with another date string and the unit to compare.
To compare dates without the time part, don't use the DATEDIFF() or any other function on both sides of the comparison in a WHERE clause. Instead, put CAST() on the parameter and compare using >= and < operators.
like: select USER_NAME,USER_EMAIL from table1 where Expiry_Date='2016-03-12';
Try clearing the time using Date.setHours
:
dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
Example Code:
var today = new Date(); today.setHours(0, 0, 0, 0); d = new Date(my_value); d.setHours(0, 0, 0, 0); if(d >= today){ alert(d is greater than or equal to current date); }
The best way would be to modify the accepted answer's if
statement as follows
if(d.setHours(0,0,0,0) >= today.setHours(0,0,0,0))
In this way, you can easily check for equality as well because the return type for setHours()
is integer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With