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

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

Вот мой код:

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), Ведь метод и так то должен же возвращать отрицательно число?


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