Validate two dates of this “dd-MMM-yyyy” format in javascript

前端 未结 5 1455
时光取名叫无心
时光取名叫无心 2020-12-21 08:33

I have two dates 18-Aug-2010 and 19-Aug-2010 of this format. How to find whether which date is greater?

5条回答
  •  旧时难觅i
    2020-12-21 08:59

    You will need to create a custom parsing function to handle the format you want, and get date objects to compare, for example:

    function customParse(str) {
      var months = ['Jan','Feb','Mar','Apr','May','Jun',
                    'Jul','Aug','Sep','Oct','Nov','Dec'],
          n = months.length, re = /(\d{2})-([a-z]{3})-(\d{4})/i, matches;
    
      while(n--) { months[months[n]]=n; } // map month names to their index :)
    
      matches = str.match(re); // extract date parts from string
    
      return new Date(matches[3], months[matches[2]], matches[1]);
    }
    
    customParse("18-Aug-2010");
    // "Wed Aug 18 2010 00:00:00"
    
    customParse("19-Aug-2010") > customParse("18-Aug-2010");
    // true
    

提交回复
热议问题