在javascript时钟中在单个字符之前添加填充0

时间:2012-08-13 07:33:35

标签: javascript asp.net

<script type="text/jscript">
function clock(){ 
  var d = new Date(); 
  var h = d.getHours(); 
  var m = d.getMinutes(); 
  var s = d.getSeconds(); 
  $('#clock').html(", "+h+"<span class='colon'>:</span>"+m+"<span class='colon'>:</span>"+s); 
//  $('.colon').fadeTo(1000, .2); 
  setTimeout(clock, 1000); 
} 

上面是javascript,我曾经在我的Webapplication上显示一个时钟。它运行正常但现在我想要的是对于任何单个数字值,该值应该在实际值之前填充0。 例如 12时15分05秒, 12点15分15秒, 12点05分10秒, 2点05分09秒

目前显示如下: - 12:15:5, 12点15分15秒, 12:5:10, 2:5:9

我是如何实现这一目标的任何帮助或建议。

4 个答案:

答案 0 :(得分:2)

制作一个小帮手功能并调用:

function pad(n)
{
  return (pad < 10 ? '0' : '') + n;
}

答案 1 :(得分:1)

试试这个

var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
    if (parseInt(h) < 10)
       h = "0" + h;
    if (parseInt(m) < 10)
       m = "0" + m;
    if (parseInt(s) < 10)
       s = "0" + s;
$('#clock').html(", " + 
       h + "<span class='colon'>:</span>" + 
       m + "<span class='colon'>:</span>" + 
       s);
setTimeout(clock, 1000);

只需在h, m and s

上添加条件检查

答案 2 :(得分:1)

应该做一个简单的“如果小于10”条件。

if(value<10){
    //it must be 1 digit
}

答案 3 :(得分:0)

你可以尝试这样的事情,

var d = new Date(); 
var h = d.getHours(); 
h = h+''; // it will give string
if(h.length == 1) { 
h = "0"+h
}