【发布时间】:2017-03-21 00:32:27
【问题描述】:
我正在使用setInterval 和new Date() 构建一个每秒更新一次的时钟。但是,我无法使用和数组将一位数更改为两位数。例如,我希望 5 小时 9 分 5 秒显示为 05:09:05(在一位数字的前面添加零)。出于某种奇怪的原因,我的带有 for 循环和 if 语句的数组没有这样做。这是我的代码:
$(document).ready(function () {
/* Variables */
var d;
var h;
var m;
var s;
var arr;
setInterval(function(){
/* Get time every second */
d = new Date();
h = d.getHours();
m = d.getMinutes();
s = d.getSeconds();
/* Check for character count */
arr = [h, m, s];
for (var i = 0; i < arr.length; i++) {
if (arr[i].toString().length == 1) {
arr[i] = '0' + arr[i];
}
}
$('h1').html(h + ':' + m + ':' + s)
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>12:00:00</h1>
【问题讨论】:
标签: javascript jquery arrays