Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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 - Fatal编程技术网

Javascript 如何计算输入日期

Javascript 如何计算输入日期,javascript,Javascript,所以,我学会了倒计时,我终于学会了,现在我试着自己做一个相反的,倒计时。基本上,我创建了一个新的日期,它会无限增加。但是,这次我希望该日期由用户引入,而不是由我在代码中设置 如果可能,请使用vanilla JS,因为我不知道任何框架 PS:你能解释一下变量是如何得到小时/分钟/等的吗?我不明白地板操作是如何完成任务的 let startingDate=新日期('2020年9月14日17:04')。getTime(); 让计数器=document.querySelector('.countup

所以,我学会了倒计时,我终于学会了,现在我试着自己做一个相反的,倒计时。基本上,我创建了一个新的日期,它会无限增加。但是,这次我希望该日期由用户引入,而不是由我在代码中设置

如果可能,请使用vanilla JS,因为我不知道任何框架

PS:你能解释一下变量是如何得到小时/分钟/等的吗?我不明白地板操作是如何完成任务的

let startingDate=新日期('2020年9月14日17:04')。getTime();
让计数器=document.querySelector('.countup timer');
setInterval(函数(){
让newDate=newDate().getTime();
设finalDate=newDate—开始日期;
让天数=数学下限(最终日期/(1000*60*60*24));
让小时数=数学楼层((最终日期%(1000*60*60*24))/(1000*60*60));
让分钟数=数学楼层((最终日期%(1000*60*60))/(1000*60));
设秒数=数学下限((最终日期%(1000*60))/1000);
counter.innerHTML=天+天+小时+小时+分钟+米+秒+秒;
},1000)

计算

document.getElementById(“本地时间”).addEventListener(“更改”,时间更改);
函数timechanged(){
让startingDate=新日期(this.value).getTime();
让计数器=document.querySelector('.countup timer');
setInterval(函数(){
让newDate=newDate().getTime();
设finalDate=newDate—开始日期;
让天数=数学下限(最终日期/(1000*60*60*24));
让小时数=数学楼层((最终日期%(1000*60*60*24))/(1000*60*60));
让分钟数=数学楼层((最终日期%(1000*60*60))/(1000*60));
设秒数=数学下限((最终日期%(1000*60))/1000);
counter.innerHTML=天+天+小时+小时+分钟+米+秒+秒;
}, 1000) 
}

计算


“你能给我解释一下变量是如何得到小时/分钟/等的吗?我不明白数学地板操作是如何完成任务的。”假设你有90秒的时间。你知道一分钟有60秒<代码>90/60=1.5<代码>数学地板(1.5)=1。例如,90秒包含1整分钟。将文本解析为日期是vanilla JavaScript不擅长的事情。是否允许将日期指定为自由格式文本?或者你打算为年、月、日、小时等提供单独的输入元素?我认为这是第一选择。关于Math.floor(),在我的示例中,我使用了毫秒(因为setInterval()),这确实误导了我。但它不能正常工作,看起来有车。不管怎样,谢谢你的回答。嗨@MariusC。这是我的荣幸,你能告诉我你发现了什么bug吗?它算数,但是,在一瞬间它显示了NaN,一些负值,然后算数,现在我再次运行它,它算数,但是在一瞬间,分钟切换到24,并返回到0。糟糕,我很抱歉,我会看看这个。