2011-06-21 88 views
0

我想驗證所選日期是在今天日期的30天之內。我怎麼能在jQuery中做到這一點?這是我到目前爲止:如何檢查選定日期是否在30天內?

<input type="text" id="txtMaxDate" /> 
<input type="submit" onclick="validateMaxDate();" /> 

<script type="text/javascript"> 
    function validateMaxDate() { 
    // format of sendDate is 05/25/2011 
    var sendDate = $("#txtMaxDate").val(); 
    var fullDate = new Date() 
    var currentDate = fullDate.getMonth()+1 + "/" + fullDate.getDate() + "/" + fullDate.getFullYear(); 
    var newSendDate = sendDate.UTC(); 
    alert(newsendDate); 


    } 
</script> 

回答

0

日期計算片不是很多jQuery,因爲它是原生JavaScript。

您的時間戳處於正確的軌道上。在我看來,最直接的方法是通過做比較時間戳如下:從的maxDate

    • 減的currentdate看看不同的是不到30天

    看到一個簡單的例子 - http://jsfiddle.net/6YQHQ/

  • 0
    var oneDay = 1000*60*60*24; \\one day has these many milli seconds 
    var diff = (today.getTime() - sendDate.getTime())/oneDay \\send date and today are date objects 
    if(Math.abs(diff)<30){alert("with in 30 days"); 
    
    1

    如果目標日期先前已被設置爲未來日期,這應該有效。

    var today = new Date(); 
    targetDate.setDate(targetDate.getDate() - 30); 
    
    if(targetDate <= today){ 
        alert('target date is less than 30 days out'); 
    } 
    
    +0

    我該如何將其實現到我的代碼? – StompFoot

    +0

    targetDate是用戶選擇的日期。 –

    相關問題