Javascript 将自定义字符串转换为角度日期

Javascript 将自定义字符串转换为角度日期,javascript,angular,typescript,angular-date-format,Javascript,Angular,Typescript,Angular Date Format,我有一个类似“August 24th,2020”的字符串,我需要将它转换为Angular中的“Date”类型。请问有什么简单的方法可以做到这一点吗 我试过这个: 施工截止日期=新日期(“2020年8月24日”) 但这会导致“无效日期”。可能能够在开箱即用的情况下解析该日期,但是,如果您不愿意附加外部库并仅为此目的保持其与环境其他部分的兼容性,您可以自己解析该日期: const dateStr=“2020年8月24日”, parseDate=s=>{ 常量[,月,日,年]=s.match(/(

我有一个类似“August 24th,2020”的字符串,我需要将它转换为Angular中的“Date”类型。请问有什么简单的方法可以做到这一点吗

我试过这个:

施工截止日期=新日期(“2020年8月24日”)
但这会导致“无效日期”。

可能能够在开箱即用的情况下解析该日期,但是,如果您不愿意附加外部库并仅为此目的保持其与环境其他部分的兼容性,您可以自己解析该日期:

const dateStr=“2020年8月24日”,
parseDate=s=>{
常量[,月,日,年]=s.match(/([a-z]+)\s(\d+)[a-z]+,\s(\d+)/i)| |[],
月份=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’]
返回新日期(UTC日期(yyyy,月,月,日))
}

log(parseDate(dateStr))
您不应该依赖于
Date()
解析器,因为它是非常不受鼓励的,尤其是在这种困难的情况下。查看下面我的答案,了解可能的方法。我有时会在parseDate(job feed.service.ts:155)收到一个错误,说“object null不可iterable(无法读取属性符号(Symbol.iterator)),但我不这么认为get@RandyQuaye:当传递字符串日期时,可能会发生这种情况,格式不同(例如,
'25/09/2020'
而不是
'2020年9月25日'
)。我在最新编辑中应用了一些微调,以在输入字符串格式不同时返回
无效日期。