2014-11-04 77 views
0

我有一个时钟显示当前时间在小时:分钟:秒。目前时间显示为20:30:25,但我的问题是,如果时间是单个数字(例如1.05(3秒)),它将在时钟1:5:3上显示。我希望它像这样出现01:05:03。如何让我的时钟用javascript显示6位数字?

这怎么办?

var today = new Date(); 
var hours = today.getHours(); 
var minutes = today.getMinutes(); 
var seconds = today.getSeconds(); 
today = hours+':'+minutes+':'+seconds; 
document.write(today); 
+0

如果<10,垫一个前导零。 – j08691 2014-11-04 20:35:41

+0

@ j08691谢谢,我应该在哪里应用? – user3594463 2014-11-04 20:38:02

回答

5

一个简单的方法是使用一个slice(-2)特技总是让带有前导零(如果需要)

切片,具有负参数,取最后n的字符串的字符的数目,在这种情况下,总是两位数值:

var today = new Date(); 
 
var hours = ("00" + today.getHours()).slice(-2); 
 
var minutes = ("00" + today.getMinutes()).slice(-2); 
 
var seconds = ("00" + today.getSeconds()).slice(-2); 
 

 
alert(hours+":"+minutes+":"+seconds);

+0

不错的使用'切片()' – Bijan 2014-11-04 20:40:28

+0

@Lsalazar谢谢百万:) – user3594463 2014-11-04 20:42:09

+0

这就是棘手:) – nicael 2014-11-04 20:44:16

1

只需添加零!我用三元运算符来做到这一点。

var today = new Date(); 
 
    var hours = today.getHours() <10 ? "0"+today.getHours(): today.getHours(); 
 
    var minutes = today.getMinutes() <10 ? "0"+today.getMinutes(): today.getMinutes(); 
 
    var seconds = today.getSeconds() <10 ? "0"+today.getSeconds(): today.getSeconds(); 
 
    today = hours+':'+minutes+':'+seconds; 
 
    document.write(today);

+0

谢谢你的工作! – user3594463 2014-11-04 20:44:25

相关问题