Javascript превращает <c: исходящее значение в дату

#javascript #date #jsp

#javascript #Дата #jsp

Вопрос:

Я пытаюсь превратить мое значение <c: out в дату Javascript, но когда я пытаюсь это сделать, я постоянно получаю неверную дату. Это строка, которую я пытаюсь превратить в Javascript DateTime .

24-02-2021 17:34:27

Я получаю это значение, выполняя следующие действия:

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

А затем я пытаюсь изменить его на дату с помощью следующего кода:

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

И именно здесь я получаю недопустимую дату

Недопустимая дата

Теперь я не уверен, было ли это из-за того, что у меня есть время в конце строки, поэтому я также попытался удалить время в конце, используя substring, чтобы иметь строку даты как:

24-02-2021

Но все же это все та же ошибка. Я также заменил все — на /, поэтому дата выглядит следующим образом:

24/02/2021

Что я могу сделать, чтобы убедиться, что эта дата является «действительной» датой, чтобы я мог использовать ее в своем коде.

Комментарии:

1. Что такое вывод console.log(d) и console.log(typeof d) ?

2. вывод console.log(d) = 24-02-2021 17:34:27 и вывод console.log(typeof d) = string , и когда я превращаю его в дату — ну, попробуй. Вывод console.log(typeof date1) = object

Ответ №1:

Ваш формат строки даты неверен. Пожалуйста, смотрите ссылку MDN для встроенного объекта Date.

Вы могли бы сделать что-то вроде этого:

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