【问题标题】:Html5 "time" input 24 hourshtml5“时间”输入24小时
【发布时间】:2018-01-15 19:37:37
【问题描述】:

用户的电脑使用 12 小时制(晚上 11:59)。用户想要使用 24 小时制 (23:59) 输入时间。浏览器各不相同,但 Firefox(例如)甚至不允许您在小时内输入 23,而过去的一些 Win32 组件允许您输入“23:__ --”,但您可以将其更改为“11:__ PM”转到分钟字段 - 仍然不理想但更好。

我们是否仍然需要使用一些花哨的 3rd 方组件来处理所有变化以提供跨浏览器的统一用户体验?是否有计划在 HTML5.1(或其他)中指定 24 小时格式?

我知道这个问题之前已经被问过好几次了,但我看到的所有答案都是一年多以前的,从那以后情况发生了很大变化。

【问题讨论】:

标签: html time


【解决方案1】:

目前,HTML5 时间格式为 24 小时制。

如果您正在寻找具有少量配置以在 12 小时和 24 小时格式之间来回转换或接受任一/两者输入的第三方库,那么那里有很多。我目前在生产中使用这个组件。您可能希望创建自己的组件或使用不同的组件/库。

此外,可以使用简单的数学方法将 12 小时转换为 24 小时,反之亦然,您可以通过谷歌搜索轻松找到 - 这不会因浏览器而改变。

这里有演示:

在此处以 ZIP 格式下载:

我将它与 moment.js 结合使用:

【讨论】:

  • 我宁愿不这样做,但希望我必须这样做。感谢您的链接。
  • 在您的编辑后添加评论。 Firefox 当前强制用户选择上午或下午。用户一次输入几十个时间字段,在源文档上看到“23:59”,不得不进行心理转换,然后在浏览器中输入“1159P”,这大大降低了输入速度——他们不高兴!我不确定数学会有什么帮助。
  • 您的代码需要弥合差距。让用户输入他们看到的内容,您可以在代码中将其转换为系统需要的内容。收集基本系统要求。
  • 有点明显!问题基本上是关于如何弥合这一差距。希望未来将在直接支持下解决这一差距。很明显,我的情况实际上很常见,所以我希望如此。
  • 时间输入接受的输入基于用户的语言环境设置,因此您可以要求用户将其系统语言环境设置为使用 24 小时表示法的内容,例如英国(假设他们说英语)。
猜你喜欢
  • 1970-01-01
  • 2019-02-12
  • 1970-01-01
  • 2018-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
  • 2020-07-04
相关资源
最近更新 更多