Javascript 如何自动刷新页面以显示更改的秒数? 今天=新日期(); document.write(“现在的时间是:”,today.getHours(),“:”,today.getMinutes(),“:”,today.getSeconds()); document.write(“日期为:”,today.getDate(),“/”,today.getMonth()+1,“/”,today.getYear());

Javascript 如何自动刷新页面以显示更改的秒数? 今天=新日期(); document.write(“现在的时间是:”,today.getHours(),“:”,today.getMinutes(),“:”,today.getSeconds()); document.write(“日期为:”,today.getDate(),“/”,today.getMonth()+1,“/”,today.getYear());,javascript,Javascript,我想自动刷新页面,以秒为单位显示更改。怎么做?请帮帮我 在这里自动刷新不是个好主意。有更好的办法。但是,如果您坚持,请使用: <html> <script language="javascript"> today = new Date(); document.write("<BR>The time now is: ", today.getHours(),":",today.getMinutes(),":",today.getSeconds()); doc

我想自动刷新页面,以秒为单位显示更改。怎么做?请帮帮我

在这里自动刷新不是个好主意。有更好的办法。但是,如果您坚持,请使用:

<html>
<script language="javascript"> 
today = new Date(); 
document.write("<BR>The time now is: ", today.getHours(),":",today.getMinutes(),":",today.getSeconds()); 
document.write("<BR>The date is: ", today.getDate(),"/",today.getMonth()+1,"/",today.getYear()); 
</script> 
</html>
更好的方法是将其包装在函数中,并对其调用
window.setInterval
window.setTimeout
。请注意,
setInterval
注册一个循环计时器,而
setTimeout
只调用一次注册函数。按如下方式更改代码:

window.location.reload();

函数doIt(){
var today=新日期();
document.getElementById(“输出”).innerHTML=“现在的时间是:”+
today.getHours()+“:”+today.getMinutes()+“:“+today.getSeconds()+

日期为:“+today.getDate()+”/“+(today.getMonth()+1)+ “/”+today.getYear(); } 设置间隔(doIt,1000); //或者,您可以使用: //setInterval(“doIt()”,1000);//这是你通常先学会的。。。
首先,您可能不应该使用document.write()。这通常被认为是不好的做法。您最好在HTML中使用容器元素(例如a
)。然后可以设置此
innerHTML

接下来,您不必每秒钟刷新一次页面。使用
setInterval()
函数。它接受一个函数和一个间隔,允许您设置给定函数应该在什么时候再次运行

在HTML中,您只需要一个
元素

<head>
<script language="text/javascript">
function doIt() {
    var today = new Date();
    document.getElementById("output").innerHTML = "The time now is: " +
        today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds() + 
        "<br />The date is: " + today.getDate() + "/" + ( today.getMonth() + 1 ) +
        "/" + today.getYear();
}
window.setInterval(doIt, 1000);
// Alternatively you can use:
//window.setInterval("doIt()", 1000); // This is what you usually learn first...
</script>
</head>
<body>
    <div id="output"></div>
</body>

在JavaScript中,定义一个将当前日期写入容器元素的函数,并使用setInterval每秒(1000ms)调用一次

var-time=document.getElementById('time');
函数writeDate(){
var today=新日期();
time.innerHTML=“现在的时间是:“+today.getHours()+”:“+today.getMinutes()+”:“+today.getSeconds()”;
time.innerHTML++=“
日期为:“+today.getDate()+”/“+(today.getMonth()+1)+“/”+today.getFullYear(); } setInterval(writeDate,1000);
您可以在这里看到它的作用。

试试这个(注意您应该使用
getFullYear
而不是
getYear
):


日期时间
函数getCurrentTime()
{
var today=新日期();
var hours=today.getHours();

如果(hours@Derija93显然是的。但是,当我发布我的时,你的内容没有达到现在的详细程度。这是个错误。我在编辑代码时按了Tab+Enter键,它发布了答案。这真的很尴尬……出于好奇,为什么不使用
setInterval
而不是反复调用
setTimeout
再次?使用setTimeout,如果其中一个实例的运行时间过长,则永远不会同时运行两个实例。
<div id="time"></div>
var time = document.getElementById('time');

function writeDate () {
    var today = new Date();
    time.innerHTML = "The time now is: " + today.getHours() +":" + today.getMinutes() + ":" + today.getSeconds();
    time.innerHTML += "<br>The date is: " + today.getDate() + "/" + (today.getMonth() + 1) + "/" + today.getFullYear();
}

setInterval(writeDate, 1000);
<html>
    <head>
        <title>Date Time</title>
    </head>
    <body>
        <div id = 'time'><div>
        <script language="javascript">
            function getCurrentTime()
            {
                var today = new Date();
                var hours = today.getHours();
                if (hours <= 9){
                    hours = '0' + hours;
                }
                var minutes = today.getMinutes();
                if (minutes <= 9){
                    minutes = '0' + minutes;
                }
                var seconds = today.getSeconds();
                if (seconds <= 9){
                    seconds = '0' + seconds;
                }
                return hours + ":" + minutes + ":" + seconds;
            }

            function getCurrentDate()
            {
                var today = new Date();
                var days = today.getDate();
                if (days <= 9){
                    days = '0' + days;
                }
                var months = today.getMonth() + 1;
                if (months <= 9){
                    months = '0' + months;
                }
                var years = today.getFullYear();
                if (years <= 9){
                    years = '0' + years;
                }
                return days + "/" + months + "/" + years;
            }

            function updateDateTime()
            {
                document.getElementById('time').innerHTML = '<br />The time now is: ' + getCurrentTime() +
                                                            '<br />The date is: ' + getCurrentDate();
                setTimeout(updateDateTime, 1000);
            }

            updateDateTime();
        </script>
    </body>
</html>