2011-06-21 58 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是用户选择的日期。 –

    相关问题