How to compare date part only without comparing time in JavaScript?

30 Jan, 2020
To obtain date and time in javascript, we have the Date() class. We access Date() class by creating its objects. Date() class returns date and time both combined.
There are four ways of instantiating a date:Syntax:
var d = new Date();
//returns the present date and time
or
var d = new Date(milliseconds);
//to set a specific date
or
var d = new Date(dateString);
//to set a specific date
or
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
//to set a specific date:
So the Date() returns function Date() { [native code] } and we can turn that into a string by using object.toString()
Approach 1:When the objects get compared it gets compared both with time and date.So now we gonna make the time to 00:00:00(stop) in that way when the objects get compared only the date gets compared as the time for both date objects will be 00:00:00(stop).
To set the time as 00:00:00(stop), setHours() comes in handy.
Syntax;
//the hour(0-23) is mandatory.
dateobject.setHours(hour, min, sec, millisec)

And for making the time as 0 or completely stopped, we have to make sure that all the parameters are 0 including milli-seconds.
Example:
<!DOCTYPE html><html>  <body>      <p>Below date1 and data2 are compared for older, further, and same dates.</p>      <script>        //Example-1        var date1 = new Date();        date1.setHours(0, 0, 0, 0)        var date2 = new Date(2020, 8, 20);        //stops the clock        date2.setHours(0, 0, 0, 0)        document.write("date1=>", date1);        document.write("<br \>date2=>", date2);        if (date1 > date2) {            document.write("<br \>date1 is further than date2");        } else if (date1 < date2) {            document.write("<br \>date1 is older than date2")        } else {            document.write("<br \>date1 and date2 same")        }        //Example-2        date2 = new Date(2019, 11, 3);        document.write("<br \><br \>date1=>", date1);        document.write("<br \>date2=>", date2);        if (date1 > date2) {            document.write("<br \>date1 is further than date2");        } else if (date1 < date2) {            document.write("<br \>date1 is older than date2")        } else {            document.write("<br \>date1 and date2 same")        }        //Example-3        date1 = new Date();        date2 = new Date();        date1.setHours(0, 0, 0, 0)        date2.setHours(0, 0, 0, 0)        document.write("<br \><br \>date1=>", date1);        document.write("<br \>date2=>", date2);        if (date1 > date2) {            document.write("<br \>date1 is further than date2");        } else if (date1 < date2) {            document.write("<br \>date1 is older than date2")        } else {            document.write("<br \>date1 and date2 same.")        }        //Example-4        date1 = new Date();        date2 = new Date();        date1.setHours(0, 0, 0, 0)            /*Due to, time didn't get stop in data2,            it’s time also gets compared to data1.*/            //date2.setHours(0,0,0,0)        document.write("<br \><br \>date1=>", date1);        document.write("<br \>date2=>", date2);        if (date1 > date2) {            document.write("<br \>date1 is further than date2");        } else if (date1 < date2) {            document.write("<br \>date1 is older than date2")        } else {            document.write("<br \>date1 and date2 same.")        }    </script>  </body>  </html>
Output
Below date1 and data2 are compared for older, further, and same dates.

date1=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date2=>Sun Sep 20 2020 00:00:00 GMT+0530 (India Standard Time)
date1 is older than date2

date1=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date2=>Tue Dec 03 2019 00:00:00 GMT+0530 (India Standard Time)
date1 is further than date2

date1=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date2=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date1 and date2 same.

date1=>Wed Dec 04 2019 00:00:00 GMT+0530 (India Standard Time)
date2=>Wed Dec 04 2019 05:37:26 GMT+0530 (India Standard Time)
date1 is older than date2

Approach 2:Here we gonna use toDateString() to obtain the only date, but when obtaining it gets converted to a string, as the comparison is not possible for strings, we need to get then again converted to a date object, now when converting them back to object time sets to 00:00:00(stops).
Syntax:
var date1 = new Date(new Date().toDateString());
Breakdown of the above syntax
new Date().toDateString()
converts the Date object to a string containing only the date part.
new Date(new Date().toDateString()); 
converts it back to Date object setting time to 00:00:00

Example
<!DOCTYPE html><html>  <body>      <p>Below date1 and data2 are compared for older,      further, and same dates.</p>      <script>        //Example-1        var date1 = new Date(new Date().toDateString());        var date2 = new Date(new Date(2018, 8, 20).toDateString());        //var date2 = new Date(2018,8,20).toDateString();        document.write("date1=>", date1); //returns only the date.        document.write("<br \>date2=>", date2);        if (date1 > date2) {            document.write("<br \>date1 is further than date2");        } else if (date1 < date2) {            document.write("<br \>date1 is older than date2")        } else {            document.write("<br \>date1 and date2 same")        }    </script></body>  </html>
Output
Below date1 and data2 are compared for older, further, and same dates.

date1=>Fri Dec 20 2019 00:00:00 GMT+0530 (India Standard Time)
date2=>Thu Sep 20 2018 00:00:00 GMT+0530 (India Standard Time)
date1 is further than date2

javascript-date
JavaScript-Misc
Picked
JavaScript
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.