Как я могу проверить, что выбранная дата находится в пределах 30-дневного периода? - PullRequest
0 голосов
/ 21 июня 2011

Я пытаюсь подтвердить, что выбранная дата находится в пределах 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>

Ответы [ 3 ]

1 голос
/ 21 июня 2011

Это должно работать, если целевая дата была ранее установлена ​​в качестве будущей.

var today = new Date();
targetDate.setDate(targetDate.getDate() - 30);

if(targetDate <= today){
  alert('target date is less than 30 days out');
}
0 голосов
/ 21 июня 2011
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");
0 голосов
/ 21 июня 2011

Часть вычисления даты не столько jQuery, сколько нативный JavaScript.

Вы на правильном пути с отметками времени. На мой взгляд, самый простой способ - сравнить временные метки, выполнив следующие действия:

  • Вычесть currentDate из maxDate
  • Проверьте, составляет ли разница менее 30 дней

См. Быстрый пример - http://jsfiddle.net/6YQHQ/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...