如何以HH:MM:SS格式在JavaScript中显示当前时间?
你能告诉我如何设置这种格式的时间HH:MM:SS。我想设置这在一个div?
function checkTime(i) { if (i < 10) { i = "0" + i; } return i; } function startTime() { var today = new Date(); var h = today.getHours(); var m = today.getMinutes(); var s = today.getSeconds(); // add a zero in front of numbers<10 m = checkTime(m); s = checkTime(s); document.getElementById('time').innerHTML = h + ":" + m + ":" + s; t = setTimeout(function() { startTime() }, 500); } startTime();
<div id="time"></div>
你可以在Javascript
做到这一点。
var time = new Date(); console.log(time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds());
目前它返回15:5:18
。 请注意,如果任何一个值小于10,他们将只显示一个数字,而不是两个。
在JSFiddle中检查这个
更新:
对于前缀0的尝试
var time = new Date(); console.log( ("0" + time.getHours()).slice(-2) + ":" + ("0" + time.getMinutes()).slice(-2) + ":" + ("0" + time.getSeconds()).slice(-2));
你可以使用moment.js来做到这一点。
var now = new moment(); console.log(now.format("HH:mm:ss"));
输出:
16:30:03
你可以使用本地函数Date.toLocaleTimeString()
:
var d = new Date(); var n = d.toLocaleTimeString();
这将显示例如:
"11:33:01"
我发现它在http://www.w3schools.com/jsref/jsref_tolocaletimestring.asp
(new Date).toTimeString().slice(0,8)
请注意,toLocaleTimeString()可能会返回类似于9:00:00 AM
。