html5 - html5时间输入显示 12小时

我使用html 5 input 元素的type=time,问题是它显示12小时时间,但我想它显示24 小时时间格式,我怎么能做到24小时?


<input type="time" name="time" placeholder="hrs:mins" pattern="^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$" class="inputs time" required>

演示

这是jsfiddle

时间:

HTML5时间输入

这是最简单的日期/时间相关类型,允许用户选择一个24小时的时钟,没有上午或下午,返回的值是hours:minutes,类似于14:30.


<input type="time" name="time" />


此功能仍在草稿中,每个浏览器以不同的方式显示,

-Opera ( Presto引擎)显示正确,
-Chrome ( Webkit引擎)在AM/PM中显示它,
-Firefox ( GeckoEngine )不显示内容,但会进行验证,

这不是一个好方法!

通过Html5草稿,input type=time为某一时间创建一个控件输入,要求是使用"the实现用户的首选presentation" 。 但是这实际上意味着使用Widget其中time presentation遵循的规则浏览器的语言环境 。 所以独立于周围的语言内容,演示文稿因浏览器,底层操作系统的语言或系统范围的语言区域设置( 根据浏览器) 。 例如,使用Finnish语言版本的Chrome,我看到Widget与使用标准24小时格式。 你的情况将有所不同。

因此, input type=time基于一个本土化,获得一切落入页面的作者。 这是有意的,Html5中throw的问题已讨论多次,相同的结果: 未更改。 ( 除非可能理清添加到文本,从而使这种行为描述为希望的那样)

请注意, patternplaceholder属性中不允许使用 input type=time. 和 placeholder="hrs:mins",如果它还实现,会可能误导。 很可能用户已键入12 .30 ( 以句点) 而不是12:30,当浏览器语言环境使用" ."作为分隔符用时间。

我的结论是应该使用 input type=text,其中 pattern属性和一些Javascript,检查输入是否正确上的浏览器不支持 pattern属性本身。

这种类型的支持仍然很差,Opera可以用你想要的方式显示,Chrome23显示秒和AM/PM,但没有关于AM/PM的信息,

它取决于本地系统的时间设置,请24小时且告诉妳回去24小时时间。

即使你看到的时间HH:MM上午/下午格式,在后端上还可以看到以24小时格式,可以试着用一些基本Javascript就明白了。

...