CodesCompiler
πŸ”
HTMLCSSJavaScriptPythonSQLPHPSEOPostsBooksKids About Contact πŸš€ Get Started Free

JavaScript - Date Comparison

JavaScript - Date Comparison

We often need to compare dates in any programming language. In JavaScript the date is one of the data types, and it is common for developers to work with dates while building applications or, writing certain date based programs.

Let’s understand the need to compare the date with a real-life example. Most of you are using the internet data, and the company sends a message like β€œ2 days left for your data pack validity”. Also, users can see the same notification in the application of network provides. The number of days left is calculated using the date comparison, if we find the difference between the current date and the expiry date we will get the result.

There are different ways to compare the date in JavaScript. We will discuss some of the methods to compare the date in JavaScript.

  • Using the getTime() method
  • Using the Moment.js diff() method

Using the getTime() method

In JavaScript date is represented by the class namedDate. You can perform various operations on date objects using the methods of this class.

To compare two date objects we can use the getTime() method. This method returns the total number of milliseconds from theThursday 1 January 1970 00:00:00(epoch time). We can invoke the getTime() method on the both date values and compare the results.

Syntax

Following code snippet demonstrates date comparison using thegetTime()method βˆ’

JAVASCRIPT CODE
let date1 = new Date();

let date2 = new Date(2012, 11, 21);

// comparing the dates

if ( date1.getTime() < date2.getTime() ) {

   // date 1 is behind the date2

} else if ( date1 > date2 ) {

   // date1 is further to date2

} else {

   // date1 and date2 is same

}

Example

In the example below, we have created the two new date objects and compared the values (milliseconds) of these two dates since the epoch (,retrieved using the getTime() method) using the if-else statement. We can see the result of the comparison between various dates in the output.

Preview

Using the Moment.js diff() method

JavaScript contains various libraries; one of them isMoment.jswhich is also used to manage the date and time.

This library has a method nameddiff(), which gives the difference between two dates in years, months, days, hours, minutes, seconds, milliseconds, etc. We can use the seconds to find the difference between the two dates.

Note:Before using the Moment.js library, we need to add Moment.js library or just add CDN to the tag of the HTML code.

Syntax

Following is the syntax of the moment.diff() method βˆ’

JAVASCRIPT CODE
diff( date, unit );

Where,

  • date:It is the date (object) which we need to compare with the current moment object.
  • unit:It is the unit in which we want to find the difference. It can be years, months, days, hours, minutes, seconds, milliseconds, etc.

Example

In the example below, we have created the two date objects using themomentlibrary. We invoked thediff()method on these two objects, to compare them and render the message accordingly.

Preview

To run this program you need to include the following script in the code βˆ’

JAVASCRIPT CODE
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment.min.js"></script>   

<script >

Conclusion

We have used the default Date() class to compare the dates in the first section of the tutorial. Also, we have used the Moment.js library method to make a comparison. The moment makes it easy for the developer to play with the dates.