Почему я получаю ложное свидание
Я хотел бы преобразовать заданную дату из dd.mm.yyyy в yyyy-mm-dd. Я попробовал код ниже. Но если я даю "22.10.2018", то скрипт возвращает "2018-11-21T23:00:00.000 Z". Но почему?
Что я уже пробовал:
function hasError() { function toDate(datestr) { var parts = datestr.split(".") return new Date(parts[2], parts[1], parts[0]) } var comparestart = toDate("22.10.2018"); var compareende = toDate("02.11.2018"); console.log(comparestart); console.log(compareende); if(comparestart >= compareende) { console.log(true); } else { console.log(false); } } hasError();
F-ES Sitecore
comparestart и т. д.-Это даты, и вы просите дату представить себя в виде строки, поэтому она показывает себя в своем формате по умолчанию. Если вы хотите, чтобы ваша дата была в определенном формате, то вам придется написать функцию, которая выводит различные части даты в нужном формате, или использовать библиотеку, которая уже имеет эти функции.
Если вы загуглите "javascript format date", то найдете множество примеров того, как форматировать даты.
Richard MacCutchan
Вероятно, потому, что дата была скорректирована в соответствии с часовым поясом локали.
Richard MacCutchan
Конечно, спасибо, что напомнили.