Написать функцию, которая на вход берет две даты и возвращает количество полных дней между ними
Как написать функцию, которая берет две даты и возвращает количество полных дней между ними? Вроде написал но не все тесты проходит.
Вот мой код:
function getDaysBetweenDates(first, second) {
let date1 = new Date(first);
let date2 = new Date(second);
if (arguments.length < 2) {
throw new TypeError("TypeError");
} else {
let oneDay = 1000 * 60 * 60 * 24;
let time = date2.getTime() - date1.getTime();
let days = 0;
if (time < 0) {
days === 0;
} else {
days = Math.trunc(time / oneDay);
}
return days;
}
}
а вот тесты который он должен проходит:
Ваш ответ не прошел тест!
FAIL test.js
валидные данные
✓ возвращает количество полных дней между датами (4ms)
✕ возвращает отрицательное число, если первая дата больше второй (3ms)
✓ обработка дат в миллисекундах getDaysBetweenDates(1409796000000, 1409925600000) (1ms)
✓ обработка дат в виде текста getDaysBetweenDates('1-1-2020', '1-3-2020')
невалидные данные
✓ возвращает NaN, если первая дата Invalid date (1ms)
✓ возвращает NaN, если вторая дата Invalid date (5ms)
✓ возвращает NaN, если обе даты Invalid date
✓ проброс исключения TypeError , если передано менее 2-х аргументов (2ms)
крайние случаи
✓ разница между датами меньше дня, но первая дата меньше второй (1ms)
✓ разница между датами меньше дня, но первая дата больше второй
✓ разница между датами ровно 24 часа
✓ даты равны между собой
✓ одна из дат равна null
✕ возвращает отрицательное число, если первая дата больше второй (3ms), Ведь метод и так то должен же возвращать отрицательно число?