Convert custom string into Angular Date

83 Views Asked by At

I have a string like "August 24th, 2020" that I need to convert into the "Date" type in Angular. Is there any simple way to do this please?

I've tried this:

const deadline = new Date ("August 24th, 2020")

But that results in "Invalid Date".

1

There are 1 best solutions below

2
Yevhen Horbunkov On BEST ANSWER

Maybe moment.js is capable to parse that outside of the box, however, if you're not willing to attach external library and maintain its compatibility to the rest of your environment for this purpose only, you may parse that yourself:

const dateStr = "August 24th, 2020",

      parseDate = s => {
        const [, month, dd, yyyy] = s.match(/([a-z]+)\s(\d+)[a-z]+,\s(\d+)/i)||[],
              months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
        return new Date(Date.UTC(yyyy, months.indexOf(month), dd))
      }
      
console.log(parseDate(dateStr))