html - 有没有办法改变输入类型 ="date"格式?

标签 html css date input

默认情况下,输入 type="date" 将日期显示为 YYYY-MM-DD

问题是,是否可以将其格式强制为类似:DD-MM-YYYY

最佳答案

无法更改格式

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

有线格式

HTML5 date input specification指的是RFC 3339 specification ,它指定一个完整的日期格式等于:yyyy-mm-dd。参见 section 5.6 RFC 3339 规范的详细信息。

此格式由 value HTML 属性和 DOM 属性使用,并且是在进行普通表单提交时使用的格式。

呈现格式

浏览器在显示日期输入的方式上不受限制。在撰写本文时,Chrome、Edge、Firefox 和 Opera 具有日期支持(请参阅 here)。它们都显示日期选择器并在输入字段中设置文本格式。

桌面设备

对于 Chrome、Firefox 和 Opera,输入字段文本的格式基于浏览器的语言设置。对于 Edge,它基于 Windows 语言设置。遗憾的是,所有网络浏览器都会忽略操作系统中配置的日期格式。对我来说,这是非常奇怪的行为,也是使用这种输入类型时需要考虑的事情。例如,将操作系统或浏览器语言设置为 en-us 的荷兰用户将显示 01/30/2019 而不是他们习惯的格式:30-01-2019

Internet Explorer 9、10 和 11 显示具有连线格式的文本输入字段。

移动设备

专门针对 Android 上的 Chrome,格式基于 Android 显示语言。我怀疑其他浏览器也是如此,尽管我无法验证这一点。

关于html - 有没有办法改变输入类型 ="date"格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48924275/

相关文章:

javascript - 如何仅在选中复选框时添加值

css - 背景不显示在 repeat-y

java - XSLT xmlXPathCompOpEval : function new not found

PHP strtotime 和 MySQL 日期格式

html - 如何使用 CSS 在我的网站上实现流畅的边距?

javascript - 如何使用 Jquery 或 Javascript 显示 AJAX 调用 div 的数据?

拖动元素时 jQuery UI 可排序闪烁和跳跃 - 连接列表

php - 如何将元素定位在DIV内的固定位置

css - 有没有更好的方法让这些蓝线横跨文本框的宽度?

javascript - JS Date() 返回正确的时区但错误的日期