javascript:增量秒数错误
javascript : Error for increment seconds
<html>
<head>
<script>
function startTime() {
var st = "January 19, 2017 18:33:31"
var today = new Date(st);
var montharray = new Array("Jan","Feb","Mar","Abr","May","Jun","Jul","Ogu","Sep","Oct","Nov","Des");
var h = today.getHours();
var ampm = h >= 12 ? 'PM' : 'AM';
h = h % 12;
h = h ? h : 12;
var m = today.getMinutes();
var s = today.getSeconds();
h = checkTime(h);
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML =
checkTime(today.getDate())+" "+montharray[today.getMonth()]+" "+today.getFullYear() + " (" + ampm +" " + h + ":" + m + ":" + s +")";
setTimeout(startTime, 1000);
}
function checkTime(i) {
if (i < 10) {i = "0" + i};
return i;
}
</script>
</head>
<body onLoad="startTime();">
<span id="txt"></span>
</body>
</html>
我想自动增加秒数。
我知道如果我使用
var today = new Date();
而不是这个,
var st = "January 19, 2017 18:33:31"
var today = new Date(st);
它会被执行 successfully.but 我不想 that.I 需要
根据上面写的代码输出。
谢谢
尝试对 startTime 进行此修改
var st = "January 19, 2017 18:33:31";
function startTime() {
var today = new Date(st);
var montharray = new Array("Jan","Feb","Mar","Abr","May","Jun","Jul","Ogu","Sep","Oct","Nov","Des");
var h = today.getHours();
var ampm = h >= 12 ? 'PM' : 'AM';
h = h % 12;
h = h ? h : 12;
var m = today.getMinutes();
var s = today.getSeconds();
h = checkTime(h);
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML =
checkTime(today.getDate())+" "+montharray[today.getMonth()]+" "+today.getFullYear() + " (" + ampm +" " + h + ":" + m + ":" + s +")";
today.setSeconds(today.getSeconds() + 1);
st = today;
setTimeout(startTime, 1000);
}
<html>
<head>
<script>
function startTime() {
var st = "January 19, 2017 18:33:31"
var today = new Date(st);
var montharray = new Array("Jan","Feb","Mar","Abr","May","Jun","Jul","Ogu","Sep","Oct","Nov","Des");
var h = today.getHours();
var ampm = h >= 12 ? 'PM' : 'AM';
h = h % 12;
h = h ? h : 12;
var m = today.getMinutes();
var s = today.getSeconds();
h = checkTime(h);
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML =
checkTime(today.getDate())+" "+montharray[today.getMonth()]+" "+today.getFullYear() + " (" + ampm +" " + h + ":" + m + ":" + s +")";
setTimeout(startTime, 1000);
}
function checkTime(i) {
if (i < 10) {i = "0" + i};
return i;
}
</script>
</head>
<body onLoad="startTime();">
<span id="txt"></span>
</body>
</html>
我想自动增加秒数。 我知道如果我使用
var today = new Date();
而不是这个,
var st = "January 19, 2017 18:33:31"
var today = new Date(st);
它会被执行 successfully.but 我不想 that.I 需要 根据上面写的代码输出。
谢谢
尝试对 startTime 进行此修改
var st = "January 19, 2017 18:33:31";
function startTime() {
var today = new Date(st);
var montharray = new Array("Jan","Feb","Mar","Abr","May","Jun","Jul","Ogu","Sep","Oct","Nov","Des");
var h = today.getHours();
var ampm = h >= 12 ? 'PM' : 'AM';
h = h % 12;
h = h ? h : 12;
var m = today.getMinutes();
var s = today.getSeconds();
h = checkTime(h);
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML =
checkTime(today.getDate())+" "+montharray[today.getMonth()]+" "+today.getFullYear() + " (" + ampm +" " + h + ":" + m + ":" + s +")";
today.setSeconds(today.getSeconds() + 1);
st = today;
setTimeout(startTime, 1000);
}