如何在datetime-local输入类型中去除时间值?

7
我在 HTML 中使用了 datetime-localinput 类型,但我不想使用时间部分。我只想获取日期。
<input type="datetime-local" name="book_date" id="book_date">

这是我从 input 标签获取的输出结果:
2018-04-22T03:02

我希望:

2018-04-22

或者如何从这个值中删除时间部分?


1
为什么不直接使用“日期”字段?顺便提一下,Safari仍不支持此功能。 - fubar
2个回答

15
如果你只需要日期部分,可以使用type="date":

<input type="date" name="book_date" id="book_date"
       onchange="console.log(this.value);" />

如果你真的想使用type="datetime-local",你可以简单地通过T来分割值:

<input type="datetime-local" name="book_date" id="book_date"
       onchange="console.log(this.value.split('T')[0]);" />


2
你将只看到使用type="date"的日期,但实际上如果你尝试捕获该输入,例如使用angular,那么它将显示日期和时间。你可以使用javascript的substring方法来删除时间。 - Ashlesh
如果您运行我的代码片段,您会发现该值仅包含日期,没有时间。我不知道您在 Angular 代码中做了什么,但您应该修复该代码,而不是使用“substring”解决方法。 - Racil Hilan

6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接