Помогите понять как сравнить 2 строки или даты

Делаю простенький сервис по подсчету каллорий пользователя. Задача, сравнить дату сегодняшнего дня с другой, которую получаю из бд. Получаю в формате строк. Вопрос как их корректно сравнить? Да, можно преобразовать в число и сравнить числа, но тогда, если будет месяц больше, то результат неверный(

console.log(`Должно быть false потому что месяц больше: ${17-12-2021 < 18-11-2021}`)
console.log(`Тут правильно: ${'17-11-2021' < '18-11-2021'}`)

Помогите сравнить, чтоб учитывалось число, месяц и год?


Ответы (1 шт):

Автор решения: Sanya H

преобразуете строки в даты и сравниваете потом. Преобразование:

var parts ='17-12-2021'.split('-');
var date1 = new Date(parts[2], parts[1] - 1, parts[0]); 
var parts ='18-11-2021'.split('-');
var date2 = new Date(parts[2], parts[1] - 1, parts[0]);
console.log(date1 < date2);
console.log(date1 > date2);

→ Ссылка