【发布时间】:2017-12-02 08:19:12
【问题描述】:
这是我第一次尝试 javascript,我一直在尝试在我的网站上设置一个实时时钟,我得到了时钟以我想要的方式显示时间,但我无法让它每秒自动更新超时命令。我在这里做错了什么?
ps。如果有人知道如何将时间更改为 UTC 时间,那也将不胜感激,不过我仍在努力。
谢谢。
<!DOCTYPE html>
<html>
<head>
<script>
var date=new Date();
var format = "YYYY-MMM-DD DDD";
document.write(dateConvert(date,format));
function dateConvert(dateobj,format){
var year = dateobj.getFullYear();
var month= ("0" + (dateobj.getMonth()+1)).slice(-2);
var date = ("0" + dateobj.getDate()).slice(-2);
var hours = ("0" + dateobj.getHours()).slice(-2);
var minutes = ("0" + dateobj.getMinutes()).slice(-2);
var seconds = ("0" + dateobj.getSeconds()).slice(-2);
var day = dateobj.getDay();
var months = ["1","2","3","4","5","6","7","8","9","10","11","12"];
var converted_date = "";
switch(format){
case "YYYY-MM-DD":
converted_date = year + "-" + month + "-" + date;
break;
case "YYYY-MMM-DD DDD":
converted_date = year + "-" + months[parseInt(month)-1] + "-" + date
+ " " + hours + ":" + minutes + ":" + seconds;
break;
}
return converted_date;
}
</script>
</head>
<body onload="dataConvert()",timeout(dateConverter,1000)>
</body>
</html>
【问题讨论】:
-
第一条经验法则。不要使用
document.write()。 -
设置javascript函数
setInterval -
什么是
timeout? -
这段代码有很多问题。没有超时之类的东西。 JS 函数称为 setTimeout()。即使使用 setTimeout,它也不会打印任何内容,因为开头只有一个 document.write。如果您在 dateConvert() 函数中移动 document.write,那么它将再次在新行上再次打印日期。您需要一个 div 或一些占位符来显示时间并使用 setTimeout 或 setInterval() 更新内容
标签: javascript html timeout