Как сравнить разные форматы дат?

153
26 октября 2019, 00:30

У меня в базе данных хранятся числа в строковом формате: "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

Не будет работать, так как я сравниваю разные типы данных. Как их правильно сравнить?

Answer 1

Переменная today имеет тип Date.

Метод .getDate возвращает число. Следовательно переменная tomorrow имеет тип number.

Далее идет попытка сравнить какое-то значение сначала с датой, а затем с числом.

Если это значение string, тогда для случая даты следует воспользоваться toISOString которая вернет строковое представление в нужном формате.

Со вторым сравнением сложнее: нужно было создать новый объект типа Date и уже к нему применить toISOString

Альтернативным решением может стать использование Date.parse Для нужного поля и дальнейшее сравнение именно с датами.

Answer 2
y.deadLineDate > today.toISOString() && y.deadLineDate < tomorow.toISOString()
READ ALSO
как сделать чтобы весь код запускался одной командой

как сделать чтобы весь код запускался одной командой

Вообщем создаю бота,есть куча функций ну и следовательно для каждой отдельный js файл,и чтобы запускать бота нужно прописывать каждый файл...

150
Ошибка при запуске теста

Ошибка при запуске теста

Запускаю тест и выдает ошибку

112
Получить код страны: JS +API

Получить код страны: JS +API

При заходе пользователя на сайт мне не нужно получить значение кода его страны (из двух букв, в ISO 3166-1 Alpha 2 формате)К моему сожалению, РНР для...

236