Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to compare the date part alone from a date time value

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); } 
like image 716
Outlooker Avatar asked Nov 25 '13 08:11

Outlooker


People also ask

How do you compare two date values?

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.

How do you compare only the date in moment?

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.

How can I compare only date parts in SQL Server?

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.

How compare only date not time in SQL query?

like: select USER_NAME,USER_EMAIL from table1 where Expiry_Date='2016-03-12';


2 Answers

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); } 
like image 106
Praveen Avatar answered Sep 17 '22 17:09

Praveen


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.

like image 34
Saksham Avatar answered Sep 19 '22 17:09

Saksham