Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何计算实际时间和显示倒计时之间的差异?_Javascript_Html_Function_Time - Fatal编程技术网

Javascript 如何计算实际时间和显示倒计时之间的差异?

Javascript 如何计算实际时间和显示倒计时之间的差异?,javascript,html,function,time,Javascript,Html,Function,Time,我想显示两次之间的差异 第一次是我可以通过以下方式显示的实际时间: window.setInterval("timefunc()",1000); function timefunc(){ d = new Date (); h = (d.getHours () < 10 ? '0' + d.getHours () : d.getHours ()); m = (d.getMinutes () < 10 ? '0' + d.getMi

我想显示两次之间的差异

第一次是我可以通过以下方式显示的实际时间:

window.setInterval("timefunc()",1000);
    function timefunc(){
        d = new Date ();
        h = (d.getHours () < 10 ? '0' + d.getHours () : d.getHours ());
        m = (d.getMinutes () < 10 ? '0' + d.getMinutes () : d.getMinutes ());
        s = (d.getSeconds () < 10 ? '0' + d.getSeconds () : d.getSeconds ());

        document.getElementById("time").innerHTML = 
        + h + ':' + m + ':' + s;
    }
window.setInterval(“timefunc()”,1000);
函数timefunc(){
d=新日期();
h=(d.getHours()<10?'0'+d.getHours():d.getHours());
m=(d.getMinutes()<10?'0'+d.getMinutes():d.getMinutes());
s=(d.getSeconds()<10?'0'+d.getSeconds():d.getSeconds());
document.getElementById(“时间”).innerHTML=
+h+':'+m+':'+s;
}
现在我想扩展这个函数。第二次是每天晚上8点

比如现在是下午6:30。在这里,我想把剩下的时间显示为倒计时。在本例中,类似于:“剩余时间:1:29:59”。当时间到了,应该重新加载页面

我对Javascript完全不熟悉,没有发现任何例子

如果有人能帮我,我会非常感激


非常感谢。

您可以使用以下方法创建今天晚上8:00(20:00)的日期对象:

var d = new Date();
d.setHours(20,0,0,0);
要查找两个日期之间的毫秒差,只需从另一个日期中减去一个:

var ms = d - new Date();
要转换为hh:mm:ss:

var hours = ms / 3.6e6 | 0;
var mins  = (ms % 3.6e6) / 6e4 | 0;
var secs  = (ms % 6e4) / 1e3 | 0;
要填充单个数字,请执行以下操作:

function pad(n) {return (n<10? '0':'') + n;}
也许你想让倒计时在晚上8点后结束。在这种情况下,只需检查当前日期是否在晚上8点之后。如果是,只需在8 pm日期对象的日期中添加一个:

var d = new Date();
d.setHours(20,0,0,0);
var now = new Date();

if (d < now) d.setDate(d.getDate() + 1);
var d=新日期();
d、 设定时间(20,0,0,0);
var now=新日期();
如果(d

因此,如果现在是晚上8点(20:00)之后,d是明天晚上8点。

请参考此链接嗨,问题是我不理解代码。。。如何将今天的日期设置为晚上8点?在此类示例中,始终会设置一个完整的日期:“var seconds=remaining.getSeconds('2014年4月16日08:31:23');”我如何将其设置为“今天”时间,有些人会这样想:('dd,yyyy 20:00:00');或者这已经正确了?
var dt=新日期(yyyy、mm、dd、HH、mm、SS),该怎么办?晚上8点在哪里?你好,这似乎回答了我的问题。我不想在晚上8点以后再打勾。应该有一个页面重新加载。感谢您的帮助。它不显示时间:(我在正文中添加了'document.getElementById(“left”).innerHTML=+pad(hours)+':'+pad(mins)+':'+pad(secs);'和一个span。
var d = new Date();
d.setHours(20,0,0,0);
var now = new Date();

if (d < now) d.setDate(d.getDate() + 1);