javascript - 如何在javascript中每秒更新日期时间

标签 javascript html timeout

这是我第一次尝试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>

最佳答案

所以有一个名为 setInterval 的很好的 javascript 函数(正如 sheplu 已经说过的那样。

因此,您几乎可以删除 onload 对象和超时并使用 setInterval。

看起来像这样:

setInterval(function(){
  var date = new Date();
  var format = "YYYY-MMM-DD DDD";
  dateConvert(date,format)
}, 1000);

当然,您必须进行一些微调,例如直接在间隔中使用 var 格式并不是最好的,因为它不会改变。

查看此处的脚本:https://jsfiddle.net/cv8wLgux/

使用的网站:MozillaDev , W3Schools

关于javascript - 如何在javascript中每秒更新日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44811440/

相关文章:

html - 悬停时更改按钮文本

javascript - 使用 Google Geocoding API 将命名实体识别标记文件链接到 Google map

multithreading - Haskell 计算密集型线程阻塞所有其他线程

c++ - libcurl - 5 秒后出现奇怪的超时

javascript - 如何知道它在文本区域中的哪个字符处更改为另一行?

javascript - 在 javascript 中为未选中的复选框设置值 null

javascript - 将 div 和脚本插入页面上的 iframe 中

javascript - 为什么我的输入没有触发我的功能

javascript - 添加div onClick功能并切换div

asp.net - 检查 session 是否超时