如何为 type='datetime-local' 的 Input 设置最小值和最大值?

Posted

技术标签:

【中文标题】如何为 type=\'datetime-local\' 的 Input 设置最小值和最大值?【英文标题】:How to I set min and max value for Input with type='datetime-local'?如何为 type='datetime-local' 的 Input 设置最小值和最大值? 【发布时间】:2017-06-16 09:03:47 【问题描述】:

已解决

嗨,我有一个输入字段,它应该向 mysql 发送一个值,我想设置最大值和最小值来预测用户可以选择的日期范围。

这个输入是一个本地日期时间字段,因为我希望他也选择时间。

我知道如何设置日期,但不能让它工作。也许我错过了什么?

这是我的fiddle

  <label>This is datetime-local</label>

<input type='datetime-local' min='2017-06-14 00:00:00' max='2017-06-16 00:00:00'>

  <label>This is date</label>

<input type='date' name="date" min="2017-06-14" max="2017-06-16">

【问题讨论】:

好的,我想我错过了日期和时间之间的 T。如何在我的 mysql 查询中得到这个? 我明白了。我在我的选择之间简单地使用了一个 T 。 DATE_FORMAT(date_arrival, "%Y-%m-%dT%H:%i") 【参考方案1】:

最小值和最大值示例

<input
    type="datetime-local"
    className="form-control mt-2"
    name="start_date"
    min="2011-02-20T20:20"
    max="2031-02-20T20:20"
/>

【讨论】:

【参考方案2】:

尽管声明了 here,但我还是让它增加了秒数,比如 yyyy-MM-ddThh:mm:ss

<input type="datetime-local" id="start-date" min="2021-06-07T14:47:57" />

我需要最小输入是“今天”,所以使用 JS:

let dateInput = document.getElementById("start-date");
dateInput.min = new Date().toISOString().split(".")[0];

那么日历不会让你超过那个最小日期。您可以为 max 属性应用相同的代码。

【讨论】:

很好的调整/破解来找到日期时间!

以上是关于如何为 type='datetime-local' 的 Input 设置最小值和最大值?的主要内容,如果未能解决你的问题,请参考以下文章

无法将 <input type="datetime-local" /> 的秒值设置为 0

h5 时间控件问题,怎么设置type =datetime-local 的值

给datetime-local设置默认时间

datetime-local输入中的默认日期 - AngularJS

如何为 HttpClient 请求设置 Content-Type 标头?

Angular 4 - 如何为 type='input' 呈现 2 个小数位