У меня в базе данных хранятся числа в строковом формате: "2019-02-23T21:27:18.461Z"
Мне нужно отсортировать получаемые даты из базы данных для их вывода клиенту.
Я создаю сегодняшнюю дату и завтрашнюю:
var today: Date = new Date;
today.setHours(0); today.setMinutes(0);
today.setSeconds(0); today.setMilliseconds(0);
var tomorrow = today.getDate() + 1;
Но
y.deadLineDate > today && y.deadLineDate < tomorow
Не будет работать, так как я сравниваю разные типы данных. Как их правильно сравнить?
Переменная today имеет тип Date.
Метод .getDate возвращает число. Следовательно переменная tomorrow имеет тип number.
Далее идет попытка сравнить какое-то значение сначала с датой, а затем с числом.
Если это значение string, тогда для случая даты следует воспользоваться toISOString которая вернет строковое представление в нужном формате.
Со вторым сравнением сложнее: нужно было создать новый объект типа Date и уже к нему применить toISOString
Альтернативным решением может стать использование Date.parse Для нужного поля и дальнейшее сравнение именно с датами.
y.deadLineDate > today.toISOString() && y.deadLineDate < tomorow.toISOString()
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости