我正在使用下面的以下脚本,我想做的是为脚本设置自定义时间并使其自动更新,而无需每次都重新设置时间。 (我只想设置一次时间并希望我的脚本跟踪时间并显示它)
当我运行脚本时,它显示:NaN:NaN:NaN AM
我的代码如下:
<div id="js_clock"> display clock here </div>
<script language="javascript">
function js_clock(clock_time)
{
var clock_hours = clock_time.getHours();
var clock_minutes = clock_time.getMinutes();
var clock_seconds = clock_time.getSeconds();
var clock_suffix = "AM";
if (clock_hours > 11){
clock_suffix = "PM";
clock_hours = clock_hours - 12;
}
if (clock_hours == 0){
clock_hours = 12;
}
if (clock_hours < 10){
clock_hours = "0" + clock_hours;
}
if (clock_minutes < 10){
clock_minutes = "0" + clock_minutes;
}
if (clock_seconds < 10){
clock_seconds = "0" + clock_seconds;
}
var clock_div = document.getElementById('js_clock');
clock_div.innerHTML = clock_hours + ":" + clock_minutes + ":" + clock_seconds + " " + clock_suffix;
setTimeout("js_clock()", 1000);
}
var serverTime = new Date("09:20:50");
js_clock(serverTime);
</script>
最佳答案
您在创建日期时遇到问题,new Date("09:20:50");
返回无效日期。
如果您想设置小时、分钟和秒,请使用
new Date(year, month, day [, hour, minute, second, millisecond ])
或者看看here .
您还忘记将日期传递给 setTimeout,请尝试:
setTimeout(function() {
js_clock(new Date(/*pass hours minutes and seconds here*/))
}, 1000);
关于基于自定义时间的Javascript时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11820970/