javascriptdate-formatdate-comparison

Comparing Dates in JavaScript For any Give Date Format


Suppose I have different formats of Dates like "MM/DD/YY", "DD/MM/YY", "YY/MM/DD", I want to compare dates based on any of the above given formats, in JavaScript. Something Like:

let date1 = "21/04/2021";
let date2 = "25/01/2021";
let format = "DD/MM/YY";
Date(date1, format) > Date(date2, format);
True
Date(date1, format) < Date(date2, format);
False
Date(date1, format) === Date(date2, format);
False

Also both dates will have same format while comparing. Is there a better way to do it other then using split('/')?


Solution

  • After trying multiple solutions I found best way to compare dates for any given format using moment library.

    let result = moment(date1, format).isBefore(moment(date2, format))? -1: 1;

    1. result = -1 means date1 is smaller
    2. result = 1 means date1 is greater or equal