在日期时间禁用今天的日期

时间:2019-03-28 17:07:40

标签: javascript html5 datepicker

$(document).ready(function(){
    elem = document.getElementById("date")
    var iso = new Date().toISOString();
    var minDate = iso.substring(0,iso.length-1);
    elem.value = minDate
    elem.min = minDate
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<input type="datetime-local" id="date" />
</form>

我正在使用an HTML5 datetime-local <input>作为网页上的日期选择器。如何在控件中禁用今天的日期,以便用户只能选择将来的日期?

2 个答案:

答案 0 :(得分:0)

请检查此代码以在当日添加一天。

<script>
$(document).ready(function(){  
 elem = document.getElementById("date")
  var d=new Date();
  d.setDate(d.getDate()+1);

  var iso = d.toISOString();
  var minDate = iso.substring(0,iso.length-1);
  elem.value = minDate
  elem.min = minDate });
</script>

答案 1 :(得分:0)

使用filename,您将得到类似var minDate = iso.substring(0,iso.length-1);的内容。 ISO日期字符串看起来像2019-03-28T12:30:21.000,所以您要做的就是剥离2019-03-28T12:30:21.000Z

将其更改为Z

.substring(0, 10)

请注意,这将允许您选择将来的日期,包括今天的日期。明天以后,将$(document).ready(function() { var elem = $('#date'); var iso = new Date().toISOString(); var minDate = iso.substring(0, 10); elem.value = minDate; elem.min = minDate; }); var iso = new Date().toISOString();交换。

var iso = new Date(new Date().valueOf() + 86400000);86400000

1秒* 60 = 1分钟
1分钟* 60 = 1小时
1小时* 24 = 1天

对于本地日期时间...。

1000ms (1 second) * 60 * 60 * 24

请注意,仍然可以输入无效值,因为其他验证取决于该字段的浏览器实现。有关更多信息,请参见https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Validation