@drtvader
Вечный студент

Почему ошибка в getDate?

Привет! Почему скрипт выдает ошибку на getDate?
Потому что это строка?
function formatDate(str) {
            var firstDate = document.getElementsByClassName("firstDate")[0].value;
            var secondDate = document.getElementsByClassName("secondDate")[0].value;

            function validDate() {
                str2 = str.split(".");
                if (str2.length != 3) {
                    return false;
                }
                str2 = str2[2] + '-' + str2[1] + '-' + str2[0];
                if (new Date(str2) == 'Invalid Date') {
                    return false;
                }
                return str;
            }
            if (validDate()) {
                document.getElementById("output").innerHTML = " ";
                if (firstDate > secondDate) {
                    text = "Первая дата должна быть меньше";
                } else {
                    text = "";
                    var timeDiff = Math.abs(firstDate.getDate() - secondDate.getDate());
                    var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
                    alert(diffDays);
                }
                document.getElementById("output").innerHTML = text;
            } else {
                document.getElementById("output").innerHTML = "Введите правильно дату";
            };
        }


Введите дату в заданном формате




  • Вопрос задан
  • 384 просмотра
Решения вопроса 1
driversti
@driversti
Кратко о себе
попробуйте так:
var timeDiff = Math.abs(new Date(firstDate).valueOf() - new Date(secondDate).valueOf());
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Разумеется, потому что это строка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы