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