如何以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