如何使用JavaScript或jQuery限制日期?

时间:2016-12-01 05:40:58

标签: javascript jquery

我的网页中有两个日期字段1- fromDate和2- toDate。如果b / w日期差异大于7,我想限制提交日期。

enter image description here

我已经应用了我的脚本但没有工作......

   var d1 = new Date();
   d1 = document.forms["From"]["fromDate"].value;
   var d2 = new Date();
   d2 = document.forms["From"]["toDate"].value;
   if ((d2 - d1) > 7) {
       alert("Please enter valid date range");
       return false;
   }

最终我想要的:如果用户输入日期且差异大于7天,则会显示警告。 示例:FromDate = 01/01/2016和ToDate = 01/10/2016 如果ToDate - FromDate然后它在提交时显示警告

在上面的例子中(ToDate = 01/10/2016) - (FromDate = 01/01/2016)= 9

2 个答案:

答案 0 :(得分:0)

尝试类似

的内容
        var d1 = new Date(document.forms["From"]["fromDate"].value);
        var d2 = new Date(document.forms["From"]["toDate"].value);
        if ((d2 - d1) / 1000 / 3600 / 24 > 7) {
            alert("Please enter valid date range");
            return  false;
        }

每秒1000 - 1000毫秒

每小时3600 - 3600

每天24-24小时

答案 1 :(得分:0)

日期选择器通常返回格式为MM / DD / YYYY的字符串。

此函数返回YYYYMMDD整数。假设当有一个数字(例如01,而不是1)时,日期填充为零。通常有一个日期选择器的设置,以返回零填充日期。

function dateFormatYYYYMMDD( num ) {
  return parseInt( num.toString().slice(6,10) + num.toString().slice(0,2) + num.toString().slice(3,5) );
};

然后找出差异,从第二个日期减去第一个日期。 e.g。

d1 = "12/01/2016";
d2 = "12/07/2016";
diff = dateFormatYYYYMMDD(d2) - dateFormatYYYYMMDD(d1);

在此示例中,diff包含值6

唯一的障碍是差异超过一个月,因为一个月可以在不同的日子结束。