有没有办法改变输入类型=“日期”格式?

我正在使用我的网页上的HTML5元素。 默认情况下,输入type="date"显示日期为YYYY-MM-DD

问题是,是否可以将其格式更改为如下形式: DD-MM-YYYY


改变格式是不可能的

我们必须区分过网格式和浏览器的显示格式。

Wire格式 HTML5日期输入规范是指RFC3339规范,它指定了一个等于:yyyy-mm-dd的全日期格式。 有关更多详细信息,请参阅RFC3339规范的第5.6节。

演示文稿格式浏览器不受限制地显示日期输入。 在编写Chrome时,Edge,Firefox和Opera都有日期支持(请看这里)。 他们都显示日期选择器并在输入字段中格式化文本。

输入字段文本的格式只能在Chrome中正确完成。 Edge,Firefox和Opera以日期,月份和年份按照语言环境的正确顺序显示日期,但不一致地使用斜杠( 30/01/2018 ),例如破折号( 30-01-2018 )由语言环境日历格式。

Internet Explorer 9,10和11显示带有格式的文本输入字段。


由于这个答案在网络领域发生了很多事情,其中​​最令人兴奋的是网络组件的登陆。 现在,您可以使用专为满足您的需求而设计的自定义HTML5元素来优雅地解决此问题。 如果您希望覆盖/更改任何HTML标签的工作,只需制作您的影子即可。

好消息是,已经有很多样板可用,所以很可能您不需要从头开始提供解决方案。 只要检查一下人们正在建设什么,并从那里获取创意。

你可以从一个简单的(和工作)解决方案开始,比如date-util聚合物,它允许你使用这样一个标签:

<date-util format="dd/MM/yyyy"></date-util>

并将其作为输入字段进行调整......或者您可以根据自己的意愿创建和弹出完整的日期选择器,并提供所需的格式和语言环境,回调以及多种选项(您已获得整个自定义API在您的处置!)

符合标准,没有黑客。

尽管我们快到了,但这仍然是一个前瞻性的解决方案:IE 10和老朋友不会支持自定义标签,所以请仔细检查可用的polyfills,它们支持哪些浏览器/版本,并且它覆盖了足够的用户群......在几个月内,它肯定会覆盖大部分用户,因为所有主要的浏览器供应商都对该规范感兴趣,并且360的实施非常接近。

希望能帮助到你!


如前所述,正式不可能改变格式。 但是,可以对字段进行样式设置,所以(只需要一点JS帮助)就可以按照我们所需的格式显示日期。 一些操作日期输入的可能性以这种方式丢失,但如果强制格式的愿望更大,这种解决方案可能是一种方法。 日期字段保持如下状态:

<input type="date" data-date="" data-date-format="DD MMMM YYYY" value="2015-08-09">

剩下的是一些CSS和JS:http://jsfiddle.net/g7mvaosL/

它适用于台式机上的Chrome和iOS上的Safari(尤其理想,因为触摸屏上的本机日期操纵器是无与伦比的恕我直言)。 没有检查其他人,但不期望在任何Webkit上失败。

链接地址: http://www.djcxy.com/p/18651.html

上一篇: Is there any way to change input type="date" format?

下一篇: How to set default value to the input[type="date"]