Прямо сейчас моя функция

    if(dateCheck("02.05.2013","17.09.2013","02.07.2013"))
    alert("Availed");
else
    alert("Not Availed");

function dateCheck(from,to,check) {

    var fDate,lDate,cDate;
    fDate = Date.parse(from);
    lDate = Date.parse(to);
    cDate = Date.parse(check);

    if((cDate <= lDate && cDate >= fDate)) {
        return true;
    }
    return false;
}

Всегда возвращая false, Получение дат в этом формате со стороны сервера 02.09.2013 Пожалуйста, предложите правильный формат для анализа этих значений?

0
Kamlesh Bisht 9 Янв 2017 в 10:01

3 ответа

Лучший ответ

Вы должны разобрать объект даты в дате javascript. Эта ссылка может дать вам представление о конструкторе дат в javascript. У него есть конструктор new Date(year,month,date). так что разберите вашу dateString в этом формате. следовать коду

if(dateCheck("02.05.2013","02.09.2013","02.07.2013"))
        alert("Availed");
    else
        alert("Not Availed");
    
    function dateCheck(from,to,check) {
    
        var fDate,lDate,cDate;
        fDate = new Date(from.split(".")[2],from.split(".")[1],from.split(".")[0]);
        
        lDate = new Date(to.split(".")[2],to.split(".")[1],to.split(".")[0]);
        cDate = new Date(check.split(".")[2],check.split(".")[1],check.split(".")[0]);
    	
    
    
        if((cDate<= lDate) && (cDate >= fDate)) {
            return true;
        }
        return false;
    }

См. jsFiddle

1
Ataur Rahman Munna 9 Янв 2017 в 07:42
if(dateCheck("02/05/2013","02/09/2013","02/06/2013"))
    alert("Availed");
else
    alert("Not Availed");

function dateCheck(from,to,check) {

    var fDate,lDate,cDate;

    fDate = convertDate(from);
    lDate = convertDate(to);
    cDate = convertDate(check);

    if((cDate <= lDate && cDate >= fDate)) {
        return true;
    }
    return false;
}


function convertDate(dateStr) {
    var parts = dateStr.split("/");
    return new Date(parts[2], parts[0], parts[1] - 1);
}
0
Sadhu 9 Янв 2017 в 07:35

Похоже, дубликат Почему Date.parse дает неверные результаты?. Ваша дата не ясна как 02.09. может быть второго сентября или 9 февраля. См. ссылочный пост для деталей.

1
Community 23 Май 2017 в 11:53