HTML5,输入类型datetime vs datetime-local,我应该使用哪个?

Age*_*nce 14 html5

我找不到像返回价值那样的更多差异......

"2011-10-18T00:00:00.00Z" // datetime value 

"2011-10-18T00:00:00.00" // datetime-local value
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

Mar*_*cka 19

更新: W3C添加type@datetime-local回来并放弃支持type@datetime- 浏览器现在将日期时间呈现为普通类型文本:请参阅为什么HTML5输入类型日期时间已从已支持它的浏览器中删除?

老答案供参考

我希望你没有选择datetime-local.:-)

W3C HTML已删除输入类型@ datetime-local; "很小的独立价值和潜在开发商混淆的来源"

资料来源:https://twitter.com/html5/status/433038890937901056

该过程的历史如下:http://encosia.com/setting-the-value-of-a-datetime-local-input-with-javascript/

datetime由于HTML5已合并为推荐内容,因此输入存在一些令人困惑的不稳定因素.

早期,W3c HTML5规范只提出了一个datetime输入.从iOS 5开始,Mobile Safari开始显示该输入的UI,该UI与您在本机应用程序中找到的UI相匹配.其他移动浏览器也很快效仿.

后来,datetime从HTML5草案规范中删除了有利于组合各个日期和时间输入,以通过两个单独的输入提示用户输入日期/时间值.虽然减少新输入类型的数量是有意义的,但它忽略了显示移动设备上已经存在且熟悉的组合日期/时间小部件的效用.

接下来,将datetime-local输入添加到规范中以替换删除datetime left的void.新输入与旧输入类似,但缺少时区偏移的概念.

在2014年底,W3C决定从推荐的HTML5规范中删除datetime-local,因为它可能导致混淆.然而,占主导地位的移动浏览器(即Mobile Safari和Chrome)已经实现了datetime-local并使其成为事实上的标准.所以,w3C让步了,并将其添加回最新的推荐草案.

除了混淆之外,Apple仍然将datetime和datetime-local列为iOS 5.0及更高版本支持的输入类型.但事实并非如此.从iOS 7开始,Mobile Safari开始显示其日期时间本地输入的本机接口,同时不再支持日期时间输入.与浏览器没有增强支持的任何输入类型一样,日期时间输入开始回退到iOS 7上的纯文本类型字段.

简而言之,你必须使用iOS 7+的datetime-local(至少在我写这篇文章的时候通过8.1.3的当前版本),并且理解"本地"意味着输入与时区无关.


Ada*_*dam 14

两者之间的区别在于datetime-local输入不包括时区.如果时区对您的应用程序不重要,请使用datetime-local.

有些浏览器仍在尝试赶上日期时间输入类型.Firefox 7在这方面仍未取得任何进展.相反,使用三个选择字段设置您自己的字段,其中包含与今天日期相关的选项.这使您可以更好地控制它的实际外观和行为,并且您不会冒很多用户只看到常规文本字段并且不得不猜测如何在其中输入信息的风险.