1

我有一个像“2020 年 8 月 24 日”这样的字符串,我需要将其转换为 Angular 中的“日期”类型。请问有什么简单的方法吗?

我试过这个:

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

但这会导致“无效日期”。

4

1 回答 1

2

也许moment.js能够开箱即用地解析它,但是,如果您不愿意附加外部库并仅出于此目的而保持其与环境的其余部分的兼容性,您可以自己解析它:

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))

于 2020-09-24T19:34:10.400 回答