在不使用Javascript刷新页面的情况下更新时间

在不使用Javascript刷新页面的情况下更新时间,javascript,Javascript,我正在构建一个应用程序,它可以显示当前时间,而无需刷新。 我正在调用下面的时间,但当我显示它时,我必须刷新页面以更新时间。如何持续更新时间 function GetTime(){ var today = new Date(); var hour = today.getHours(); var minute = today.getMinutes(); if (hour>=12){ //Adding endings

我正在构建一个应用程序,它可以显示当前时间,而无需刷新。 我正在调用下面的时间,但当我显示它时,我必须刷新页面以更新时间。如何持续更新时间

function GetTime(){
var today = new Date();
var hour = today.getHours();
var minute = today.getMinutes();

        if (hour>=12){                  //Adding endings
                suffix = "P.M.";}
        else{
                suffix = "A.M.";}


minute = addZero(minute);       //Call addZero function
hour = removeMilitary(hour);    //Call removeMilitary Function

var fullTime = hour + ":" + minute + " " + suffix;  //Combine hour minute and the suffix



        function addZero(number){
                        if (number<10){
                            number = "0" + number;
                        }
                        return number;
        }

        function removeMilitary(hour){ //This function can be removed if desired by user.

            if (hour > 0 && hour <= 12) {
                hour = "" + hour;
            } else if (hour > 12) {
                hour = "" + (hour - 12);
            } else if (hour == 0) {
                hour= "12";
            }
            return hour;
        }
return fullTime;

}
函数GetTime(){ var today=新日期(); var hour=today.getHours(); var minute=today.getMinutes(); 如果(小时>=12){//添加结尾 后缀=“P.M.”;} 否则{ 后缀=“A.M.”;} 分钟=addZero(分钟);//调用addZero函数 小时=removeMilitary(小时);//调用removeMilitary函数 var fullTime=hour+“:“+minute+”“+后缀;//将hour-minute和后缀组合起来 函数addZero(数字){ 如果(0号和12小时){ 小时=”+(小时-12); }否则,如果(小时==0){ 小时=“12”; } 返程时间; } 全职返回; } setInterval(GetTime,1000)将每秒(1000毫秒)调用函数以获取时间。你没有展示你是如何把时间放在页面上的,所以你也需要把它结合起来

setInterval(GetTime,1000)将每秒(1000毫秒)调用函数以获取时间。你没有展示你是如何把时间放在页面上的,所以你也需要把它结合起来

Javascript有一个方法

通过每1000毫秒运行一次程序,您可以每秒获得一次时间:

setInterval(GetTime, 1000);
//if you incorporate updating the html 
//within the getTime function

为什么1000毫秒的设置间隔不是很准确

问题是,除非您在第二秒开始设置间隔,否则您的程序不会在第二秒更改第二秒。例如,我建议您通过将间隔调整为每100毫秒来获得更精确的值。然后它会每100毫秒更新一次,这意味着你的时钟最多只能落后十分之一秒

更好的解决方案

每100毫秒设置一次间隔是可以的,但是如果你想获得更高的精度,将其设置为10毫秒并不一定是最好的选择,因为每10毫秒重复一次任务对计算机来说是一个相当大的负担。您还可以使用查找到下一秒的毫秒数,然后使用方法等待到下一秒,然后启动设置超时。您仍然会有一些计算延迟(从它获得毫秒数到下一秒到它开始设置超时之间的时间量),但这可能比100毫秒小得多。

Javascript有一个方法

通过每1000毫秒运行一次程序,您可以每秒获得一次时间:

setInterval(GetTime, 1000);
//if you incorporate updating the html 
//within the getTime function

为什么1000毫秒的设置间隔不是很准确

问题是,除非您在第二秒开始设置间隔,否则您的程序不会在第二秒更改第二秒。例如,我建议您通过将间隔调整为每100毫秒来获得更精确的值。然后它会每100毫秒更新一次,这意味着你的时钟最多只能落后十分之一秒

更好的解决方案


每100毫秒设置一次间隔是可以的,但是如果你想获得更高的精度,将其设置为10毫秒并不一定是最好的选择,因为每10毫秒重复一次任务对计算机来说是一个相当大的负担。您还可以使用查找到下一秒的毫秒数,然后使用方法等待到下一秒,然后启动设置超时。您仍然会有一些计算延迟(从它获得毫秒数到下一秒到它开始设置超时之间的时间量),但这可能比100毫秒小得多。

更新我忘记了
设置间隔
,但其他人已经指出了它,所以把这两个答案混合在一起,你就完蛋了

看和看

类似于函数末尾的以下代码段(而不是
returnfulltime
)应该可以工作:

...
var myElement = documentGetElementById('mydiv');
myElement.innerHTML = fulltime;
...

当然,您需要使用
或您选择的任何内容来定义一些HTML元素

更新我忘记了
设置间隔
,但其他人已经指出了它,所以混合两个答案就完成了

看和看

类似于函数末尾的以下代码段(而不是
returnfulltime
)应该可以工作:

...
var myElement = documentGetElementById('mydiv');
myElement.innerHTML = fulltime;
...

当然,您需要使用
或您选择的任何内容来定义一些HTML元素

我假设您将使用
setInterval()
函数。 只需在点击按钮时添加此项

setInterval(function(){Document.getElementById("div").innerHTML = getTime},1000);

我假设您将使用
setInterval()
函数。 只需在点击按钮时添加此项

setInterval(function(){Document.getElementById("div").innerHTML = getTime},1000);

给出的信息不足以猜测问题所在。请上传所有相关代码。请也给你HTML代码,谢谢。提供的信息不足以猜测问题所在。请上传每一个相关的代码请也给你HTML代码,谢谢DownVote,因为你没有回答OP想要的。答案应该是不断更新值并将其分配给DOM的部分。这就是为什么包括我在内的人问DOM或其他信息的原因。我假设OP有一些HTML,我仍然认为否决票是不公平的,但是不管是什么,我给了你否决票,但同时,你也编辑了你的帖子。所以,没有理由再让我对你投反对票了。编辑一些东西,这样我就可以收回:)人们应该收回他们的反对票,一旦帖子被更改,反对票不应该是“我不喜欢你的答案,所以否定点”。它应该总是灵活的。向下投票,因为你没有回答OP的要求。答案应该是不断更新值并将其分配给DOM的部分。这就是为什么包括我在内的人问DOM或其他信息的原因。我想OP有一些HTM