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

默认情况下,输入 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 语言设置。遗憾的是,所有 Web 浏览器都会忽略操作系统中配置的日期格式。对我来说,这是非常奇怪的行为,在使用这种输入类型时需要考虑一些事情。例如,将操作系统或浏览器语言设置为 en-us 的荷兰用户将显示 01/30/2019 而不是他们习惯的格式:30-01-2019.

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

移动设备

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

https://stackoverflow.com/questions/7372038/

相关文章:

html - 如何在 pre 标签中换行?

html - 从 IFrame 中删除边框

html - 为什么不在 HTML 中使用表格进行布局?

html - 默认情况下如何选择单选按钮?

javascript - 如何检测 JavaScript 是否被禁用?

html - 拉伸(stretch)和缩放 CSS 背景

html - HTML中id和name属性的区别

html - Zalgo 文本如何工作?

html - 为输入类型 ="file"按钮设置样式

html - 使用 CSS 按比例调整图像大小?