首页 > 解决方案 > 输入中的日期格式

问题描述

input 标签的 value 属性只接受 YYYY-mm-dd 格式

<input type="date" value="YYYY-mm-dd">

在我的应用程序中,用户出生日期以以下格式返回:1999 年 1 月 1 日

如果我这样做,什么也不会发生:

<input type="date" value="Jan 1, 1999">

那么,如果我的格式不同,我如何显示用户出生日期,也许编写一个返回正确格式的 javascript 函数,但问题是如何将该函数粘贴到属性

标签: javascripthtml

解决方案


您可以input type=date使用 vanilla Javascript 将获得的字符串转换为 ' 值。

演示:

<label> click to set value
  <input type="text" value="Jan 1, 1999 " onfocus="document.querySelector('#date').valueAsDate = new Date(new Date(this.value).setDate(new Date(this.value).getDate() + 1))" />
</label>
<label>
Input date:
<input id="date" type="date" value="0"> 
</label>

你会很高兴在.valueAsDate 这里阅读,

而且由于它是前一天得到的,我通过将日期设置为后一天来修复它 - 你可以在这里阅读它。


推荐阅读