设置HTML类型时间的输入打印无效的输入时间
Setting HTML input of type time prints invalid input time
在这个简单的html
<input type="time" id="tm" name="tm">
,我尝试使用document.getElementById('tm').valueAsDate = new Date();
设置时间,但是时间设置为“23:45:04.123”,导致输入错误。我收到工具提示“请 select 一个有效值....”
我在 Firefox 94.0.2 和 Edge 96.0.1054.34 中试过 - 结果相同。如果重要的话,我使用的是德语 Windows 10 x64。
这是我的 fiddle:
使用此代码
<input type="time" id="tm" name="tm">
<script>
var today = new Date();
var time =today.getHours()+":"+today.getMinutes() ;
document.getElementById("tm").value = time;
</script>
您可以尝试单独获取 hours & minutes 部分,然后将它们连接在一起以获得您想要的格式。
var now = new Date(Date.now());
// Getting Hours from the time
var hours = now.getHours();
// Getting minutes from the time
var minutes = "0" + now.getMinutes();
// Displaying time in H:M format
var time = hours + ':' + minutes.substr(-2);
document.getElementById('tm').value = time;
// document.getElementById('tm').value = "23:45"; // works
<input type="time" id="tm" name="tm">
你可以使用 moment
var now = new Date(Date.now());
document.getElementById('tm').valueAsDate = moment(now, ["h:mm A"]).format("HH:mm");
同时检查这些选项。
var now = new Date(new Date().toLocaleString("en-US", {
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
hour12: true,
}));
document.getElementById('tm').valueAsDate = now;
在这个简单的html
<input type="time" id="tm" name="tm">
,我尝试使用document.getElementById('tm').valueAsDate = new Date();
设置时间,但是时间设置为“23:45:04.123”,导致输入错误。我收到工具提示“请 select 一个有效值....”
我在 Firefox 94.0.2 和 Edge 96.0.1054.34 中试过 - 结果相同。如果重要的话,我使用的是德语 Windows 10 x64。
这是我的 fiddle:
使用此代码
<input type="time" id="tm" name="tm">
<script>
var today = new Date();
var time =today.getHours()+":"+today.getMinutes() ;
document.getElementById("tm").value = time;
</script>
您可以尝试单独获取 hours & minutes 部分,然后将它们连接在一起以获得您想要的格式。
var now = new Date(Date.now());
// Getting Hours from the time
var hours = now.getHours();
// Getting minutes from the time
var minutes = "0" + now.getMinutes();
// Displaying time in H:M format
var time = hours + ':' + minutes.substr(-2);
document.getElementById('tm').value = time;
// document.getElementById('tm').value = "23:45"; // works
<input type="time" id="tm" name="tm">
你可以使用 moment
var now = new Date(Date.now());
document.getElementById('tm').valueAsDate = moment(now, ["h:mm A"]).format("HH:mm");
同时检查这些选项。
var now = new Date(new Date().toLocaleString("en-US", {
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
hour12: true,
}));
document.getElementById('tm').valueAsDate = now;