Javascript 将 <c:out 值转换为日期

Javascript turn <c:out value into date

我正在尝试将我的 的字符串

24-02-2021 17:34:27

我通过执行以下操作获得此值:

var d = ('<c:out value="${post.end}"/>');

然后我尝试通过以下代码将其更改为日期:

var date1 = new Date(d);
console.log(date1);

这是我得到无效日期的地方

Invalid Date

现在我不确定这是不是因为我在字符串的末尾有时间,所以我也尝试通过使用子字符串将日期字符串作为以下内容来删除末尾的时间:

24-02-2021

但是这样还是报同样的错误。我还用 / 替换了所有 - 所以日期显示如下:

24/02/2021

我该怎么做才能确保这个日期是 'valid' 日期,以便我可以在我的代码中使用它。

您的日期字符串格式有误。请参阅 MDN reference for the Date built-in object.

你可以这样做:

d = d.split(' ')[0] // '24-02-2021'
const [day, month, year] = d.split('-')
const date1 = new Date(year, month, day)