Javascript 有人能给我解释一下倒计时代码背后的逻辑吗?

Javascript 有人能给我解释一下倒计时代码背后的逻辑吗?,javascript,math,countdown,countdowntimer,Javascript,Math,Countdown,Countdowntimer,我在Youtube上观看了“10小时内完成10个Javascript项目”,其中有一个重要部分我很难理解,第一个项目是从2020年9月到2021年新年的倒计时 代码如下: const newYears = '1 jan 2021'; function countdown (){ const newYearsDate = new Date (newYears); const currentDate = new Date (); const totalSeconds = (newYear

我在Youtube上观看了“10小时内完成10个Javascript项目”,其中有一个重要部分我很难理解,第一个项目是从2020年9月到2021年新年的倒计时

代码如下:

const newYears = '1 jan 2021';
function countdown (){
 
 const newYearsDate = new Date (newYears);
 const currentDate = new Date ();

 const totalSeconds = (newYearsDate - currentDate)/1000;
 const days = Math.floor(totalSeconds/3600/24);
 const hours = Math.floor(totalSeconds/3600)%24;
 const mins = Math.floor(totalSeconds/60)%60;
 const seconds = Math.floor(totalSconds)%60;

 daysE1.innerHTML = days;
 hoursE1.innerHTML = hours;
 minsE1.innerHTML = mins;
 secondsE1.innerHTML = seconds;
}
我理解函数中的第一行和最后一行,但是中间的一行,我完全迷失了。 这是基础数学,所以我理解计算,我只是不明白为什么:

  • 为了获得秒数,将newYearsDate和currentDate的差值除以1000
  • 为了得到剩余的天数,我们将总秒数除以3600,然后将结果除以24
  • 可能对我来说最令人困惑的是,为什么要使用remainder?我知道余数是什么,但我不明白它们在这种情况下的含义
  • 总之,我只需要有人向我解释从“const totalSeconds”到“const seconds”每一行背后的原因。我了解**我们在做什么,但不了解我们是如何做的:/

    非常感谢,提前

    希望你今天过得愉快

    为了获得秒数,将newYearsDate和currentDate的差值除以1000

    请参阅和,了解ms.的差值除以1000,得到秒的总差值

    为了得到剩余的天数,我们将总秒数除以3600,然后将结果除以24

    一小时有3600秒,一天有24小时。嗯

    可能对我来说最令人困惑的是,为什么要使用remainder?我知道余数是什么,但我不明白它们在这种情况下的含义


    将秒除以60并向下取整(
    floor
    )得到完整的分钟数。使用
    %60
    获取超过整分钟的秒数,这些秒数是您希望显示为实际秒数的秒数。对于超过整小时的分钟和超过整天的小时,也有同样的想法。

    如果将一个javascript日期与另一个javascript日期相减,则它们之间的差值以毫秒为单位。要了解更多信息,请访问