繁体   English   中英

我在这里的数学哪里出了问题,试图从日期时间中提取正确的时间?

[英]Where am I going wrong with my math here to try and extract the correct hours from a date time?

我有一个倒数计时器,由于某种原因,我无法正确显示小时数。 无论如何,小时数始终显示为零。 有人可以仔细检查我的数学,看看我哪里出错了吗?

let countTitle = '';
let countDate = '';
let countDateValue = new Date();
const second = 1000;
const minute = second * 60;
const hour = minute * 60;
const day = hour * 24;
const today = new Date().toISOString().split("T")[0];


function countdown() {
    const todayValue = new Date().getTime();
    
    const difference = countDateValue - todayValue;
    
    const days = Math.floor(difference / day);
    const hours = Math.floor((difference % day) / hour);
    const minutes = Math.floor((difference % hour) / minute);
    const seconds = Math.floor((difference % minute) / second);
    
}

function getData(e) {
    e.preventDefault();
    countTitle = e.srcElement[0].value;
    countValue = e.srcElement[1].value;
    
    countDateValue = new Date(countValue).getTime();
    
    countdown();
}

我没有看到您的代码有任何问题,除非输入日期本身是错误的,否则它会给我完美的结果。

当我通过一些示例日期(1619628379441、1619227379441)运行您的代码时,我得到了完美的结果4 15 23 20

 let countTitle = ''; let countDate = ''; let countDateValue = new Date(); const second = 1000; const minute = second * 60; const hour = minute * 60; const day = hour * 24; const today = new Date().toISOString().split("T")[0]; function countdown() { const todayValue = 1619227379441; //new Date().getTime(); const difference = countDateValue - todayValue; const days = Math.floor(difference / day); const hours = Math.floor((difference % day) / hour); const minutes = Math.floor((difference % hour) / minute); const seconds = Math.floor((difference % minute) / second); console.log(days, hours, minutes, seconds) } function getData(e) { countDateValue = 1619628379441; // new Date(countValue).getTime(); countdown(); } getData();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM