我创建了一个时钟放在我网站的标题中。时间不显示零分钟< 10.例如,如果时间是10:50,它将只显示10:5,我找到了解决方案但不确定如何实现它。如果有更好的方法请分享。
var current;
window.onload = function () {
current = new Date();
document.getElementById("clock").innerHTML = current.getHours() + ":" + current.getMinutes();
这就是我需要的
if (minutes < 10)
minutes = "0" + minutes
这是我时钟的容器
<span id="clock"> </span>
答案 0 :(得分:23)
你可以抓住时间字符串的前5个字符。
(new Date()).toTimeString().substr(0,5)
答案 1 :(得分:12)
你的问题是什么?
var minutes = (current.getMinutes() < 10? '0' : '') + current.getMinutes();
由于您将遇到与小时相同的问题,请将其包装在一个小的实用程序函数中:
function pad(var value) {
if(value < 10) {
return '0' + value;
} else {
return value;
}
}
后来简单地说:
pad(current.getHours()) + ":" + pad(current.getMinutes())
答案 2 :(得分:8)
由于您将来可能会遇到相同问题的演示问题,因此我建议您为Javascript挑选一个最喜欢的字符串格式函数。
一些例子:
然后你可以做"{0:00}:{1:00}".format(current.getHours(), current.getMinutes())
甚至更好的事情,
var d = new Date();
var s = d.format("hh:mm:ss tt");
// Result: "02:28:06 PM"
答案 3 :(得分:1)
我试过这种方式。它并不简短但有效。
var dt = new Date();
if (parseInt(dt.getMinutes()) < 10) {minutes = "0" + dt.getMinutes();} else minutes = dt.getMinutes();
if (parseInt(dt.getSeconds()) < 10) {seconds = "0" + dt.getSeconds();} else seconds = dt.getSeconds();
var time = dt.getHours() + ":" + minutes + ":" + seconds;
document.write("Now is:" + time);
//Result: Now is: 22:47:00
我希望它会有用
答案 4 :(得分:1)
我喜欢这种做事方式...... Javascript add leading zeroes to date
const d = new Date();
const date = (`0${d.getMinutes()}`).slice(-2);
consoe.log(date); // 09;