1
<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、02:05:09

目前显示如下:- 12:15:5、12:15:15、12:5:10、2:5:9

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

4

4 回答 4

2

做一个小辅助函数并调用它:

function pad(n)
{
  return (pad < 10 ? '0' : '') + n;
}
于 2012-08-13T07:38:11.753 回答
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

于 2012-08-13T07:37:57.197 回答
1

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

if(value<10){
    //it must be 1 digit
}
于 2012-08-13T07:38:01.190 回答
0

你可以试试这样的

var d = new Date(); 
var h = d.getHours(); 
h = h+''; // it will give string
if(h.length == 1) { 
h = "0"+h
}
于 2012-08-13T07:44:09.457 回答