我正在尝试验证所选日期是否在今天的30天之内。我怎么能在jQuery中做到这一点?这是我到目前为止所做的:
<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 :(得分:1)
如果目标日期先前已被设定为未来日期,则此方法应有效。
var today = new Date();
targetDate.setDate(targetDate.getDate() - 30);
if(targetDate <= today){
alert('target date is less than 30 days out');
}
答案 1 :(得分:0)
日期计算部分不是jQuery,而是原生JavaScript。
您的时间戳正确。在我看来,最直接的方法是通过执行以下操作来比较时间戳:
查看简单示例 - http://jsfiddle.net/6YQHQ/
答案 2 :(得分: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");