私はsetInterval
とnew Date()
を使用して毎秒更新する時計を作成しています。しかし、私は問題を1桁の数字を2桁の数字に変更し、配列を使用しています。たとえば、5時9分5秒を05:09:05(1桁の数字の前にゼロを追加する)と表示するとします。いくつかの奇妙な理由から、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>
これは完全に機能します。ありがとう! –