为啥 HTML5 输入类型 datetime 从已经支持它的浏览器中删除?

Posted

技术标签:

【中文标题】为啥 HTML5 输入类型 datetime 从已经支持它的浏览器中删除?【英文标题】:Why is HTML5 input type datetime removed from browsers already supporting it?为什么 HTML5 输入类型 datetime 从已经支持它的浏览器中删除? 【发布时间】:2014-02-11 08:45:34 【问题描述】:

我想知道为什么过去支持输入 datetime 的所有浏览器(例如高于 26 的 Chrome 版本)都删除了它?

这听起来像是 this article 的复制品,但那个已经很老了。

看起来 html WG 更喜欢 datetime-local (w3c) 而不是 datetime (w3c),但为什么呢?

有关功能开发时间表,请参阅 this。

别人怎么说:

根据mobilexweb.com,它在 ios 中已被弃用,因为它看起来太像日期时间输入类型。

继 Google Chrome 之后,iOS 上的 Safari 现在不支持 datetime 输入类型不再,它将回退到文本。这个类型 在标准中已弃用,有利于 datetime-local 或使用两个 用于相同目的的输入、日期和时间。问题是 datetime 与 iOS 5.0 到 6.1 版本兼容;如果你是 使用它,小心!

有什么区别?

datetime-local 仅包含日期和时间元素,datetime 还包含时区。这很有用,因为当客户端的时区与服务器的时区不同时,您可能希望采取不同的行动。

为什么这很重要?

如果网页问:你想让我什么时候给你打电话,用户选择“明天下午 3 点”,你需要什么时候给他回电话?明天下午 3 点 UTC 还是 CET?

【问题讨论】:

HTML5 仍然是“候选推荐”。这还不是最终的。这可能就是事情不断变化的原因。 是的,但据我所知建议没有改变,所以这似乎是浏览器供应商的选择。 我猜你得找一个外部库或者自己做... Webmasters.SE - Is datetime-local removed from HTML 5.1? 有一些关于datetimedatetimedatetime-local 未来的有用信息。 【参考方案1】:

我能想到的唯一原因是浏览器供应商对正在批准的标准失去信心,因此从他们的代码中删除了实现。

为了支持这个想法:W3C 刚刚从他们的工作草案中删除了 datetimedatetime-local

浏览器供应商最终将放弃对它们的支持。

根据html5test,当前大多数浏览器都删除了对这两种输入类型的支持。

最新进展:

datetime-local 再次入选; 较新的规格页面不显示datetime,但显示datetime-local。听起来它确实重新出现在地图上并且将再次得到支持!

还请注意 Webmasters.SE 上的相关帖子:Is datetime-local removed from HTML 5.1?。

【讨论】:

如果不是他们(IE.Chrome、Firefox 的开发者)谁定义了标准,为什么他们会从浏览器中删除完美的东西? 我完全同意。有效。它运作良好。我需要它。为什么要删除它? @Yoda:看来datetime-local 至少又回到了路线图上。 是的,可悲的是,我们开始看到 W3C (W3C version of input) 和 WHATWG (WHATWG version of input) 这两个工作组之间的差异。我担心有一天会发生这种情况...... 我喜欢这个问题在网络创建 25 年后仍未解决。几乎可以概括整个 IMO 的软件行业。【参考方案2】:

来源http://www.w3.org/TR/html5/

“以下功能存在风险,可能由于缺乏实施而被删除。 ....”

【讨论】:

以上是关于为啥 HTML5 输入类型 datetime 从已经支持它的浏览器中删除?的主要内容,如果未能解决你的问题,请参考以下文章

html5 input datetime为啥调不出来日历控件

输入类型 DateTime - 值格式?

#yyds干活盘点#1.2 HTML5新的Input类型

H5表单

将类型为 datetime-local 的输入绑定到 Angular 2 中的 Date 属性

为啥 System.DateTime 结构的布局类型为 Auto?