2014-12-04 134 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)'輸出(一個例子)? 'date1'從哪裏來?我懷疑它不是正規的日期格式。 – tiledcode 2014-12-04 10:20:58

+0

對不起,它已被更新 – 2014-12-04 10:27:21

回答

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

比較日期對象的原始值:

「的原始值返回爲自午夜1月1日, 1970年UTC毫秒數」

+2

請在您的回答中添加一個註釋該代碼的作用。 – feeela 2014-12-04 11:23:24