HTML输入时间为24格式

Sti*_*ler 42 html

我在HTML标签下方使用:

<input type="time"  />
Run Code Online (Sandbox Code Playgroud)

在Chrome中,它显示PM/AM格式,我们可以限制始终显示24格式.我不想使用HTML5标签

Gök*_*urt 27

本回答所述,并非所有浏览器都支持标准方式.使用强大的用户体验并不是一个好主意.如果你使用它,你不能要求太多.

而是使用时间选择器库.例如:TimePicker.js是一个零依赖和轻量级库.使用它像:

var timepicker = new TimePicker('time', {
  lang: 'en',
  theme: 'dark'
});
timepicker.on('change', function(evt) {
  
  var value = (evt.hour || '00') + ':' + (evt.minute || '00');
  evt.element.value = value;

});
Run Code Online (Sandbox Code Playgroud)
<script src="http://cdn.jsdelivr.net/timepicker.js/latest/timepicker.min.js"></script>
<link href="http://cdn.jsdelivr.net/timepicker.js/latest/timepicker.min.css" rel="stylesheet"/>

<div>
  <input type="text" id="time" placeholder="Time">
</div>
Run Code Online (Sandbox Code Playgroud)

  • 投票原因.注意:想要一些自然答案这个问题.也可以使用其他库完成,但问题想要没有库的自然ans,请阅读黄色部分. (2认同)

小智 5

您无法使用 HTML5 输入类型来做到这一点。有很多库可以做到这一点,您可以使用 momentjs 或其他一些 jQuery UI 组件来获得最佳结果。


Vik*_* NS 5

	<!DOCTYPE html>
	<html>
	<body>

	Time: <input type="time" id="myTime" value="16:32:55">

	<p>Click the button to get the time of the time field.</p>

	<button onclick="myFunction()">Try it</button>

	<p id="demo"></p>

	<script>
	function myFunction() {
		var x = document.getElementById("myTime").value;
		document.getElementById("demo").innerHTML = x;
	}
	</script>

	</body>
	</html>
Run Code Online (Sandbox Code Playgroud)

我发现通过设置值字段(不仅是下面给出的内容),时间输入将在内部转换为24小时格式。

  • 在 Chrome 和 Firefox 中,这显示为“am/pm”时间输入控件。所以这个答案(不再)有效。它不以“24 小时方式”显示/交互。 (3认同)
  • 根据 [this](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time#Time_value_format),内部格式始终为 24 小时 (2认同)