2014-12-04 2 views
0
var date_arr = new Array("Jan", "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); 
var Avl_date = document.getElementById("Available_Date").value; 
var V_date1 = Avl_date.split('-'); 
var date1 = new Date (V_date1[2], date_arr.indexOf(V_date1[1]),V_date1[0]); 
      var myDate = new Date(); 
myDate.setHours(0,0,0); 

var a=''; 
a=validateDate(date); 
var y=document.getElementById("Available_Date"); 
document.FM_NewComplaint.Available_Date.value=a[1]; 
//alert(date2); 
alert(date1); 
alert(myDate); 

if (a[0] != '') 
{ 
    document.FM_NewComplaint.Available_Date.focus(); 
    y.style.border = '1px solid #ff6000'; 
    document.getElementById("Available_DateError").innerHTML='Enter Proper Date'; 
    document.getElementById("Available_DateError").style.display = ""; 
    return false; 
} 


else if(date1<=myDate) 
{ 
    alert("Hi"); 
    document.FM_NewComplaint.Available_Date.focus(); 
    y.style.border = '1px solid #ff6000'; 
    document.getElementById("Available_DateError").innerHTML=getErrorMsg(60591); 
    document.getElementById("Available_DateError").style.display = ""; 
    return false; 
} 

else 
{ 
    Available_Date.style.border = '1px solid #d3dbe3'; 
    document.getElementById("Available_DateError").innerHTML=''; 
    document.getElementById("Available_DateError").style.display = "none"; 
    return true; 

} 

Эта функция используется для проверки даты, когда в мне нужно сравнивать текущую дату с выбранным (вход) Дата, условие, если выбранная дата меньше текущей даты то ошибка сообщение должно печатать.Сравнение дат в JavaScript

Все идет гладко, но когда выбранная дата и настоящая дата схожи, а затем печатается сообщение об ошибке, то есть оно переходит через другое, если условие. Я пробовал такие возможности, как < =,> =. Но все равно это происходит внутри цикла. Что делать, если я хочу сравнить только дату, которая меньше текущей даты.

+0

Что делает ' alert (myDate) 'и' alert (date1) 'output (пример)? И откуда берется «дата1»? Я подозреваю, что это не в обычном формате даты. – tiledcode

+0

Извините, теперь его не обновлено –

ответ

0
date1.valueOf()<=myDate.valueOf() 

Сравнивает примитивные значения объектов дата:

"Элементарное значение возвращается как число миллисекунд, прошедших с полуночи 1 января 1970 UTC"

+2

Пожалуйста, добавьте примечание в свой ответ, что делает этот код. – feeela