Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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,我正在制作一个时钟,它根据用户输入的日期计算天数。 假设用户输入的是2020年11月20日。 然而,计算真的很不顺利,特别是如果我把今天的日期(2021年1月6日)推迟,那么计算从-6开始 请看一看,让我知道我的计算哪里出错了。 这是我的javascript: document.addEventListener('DOMContentLoaded',function(){ //log(“jsrunning”); var days=document.querySelector('.days spa

我正在制作一个时钟,它根据用户输入的日期计算天数。 假设用户输入的是2020年11月20日。 然而,计算真的很不顺利,特别是如果我把今天的日期(2021年1月6日)推迟,那么计算从-6开始

请看一看,让我知道我的计算哪里出错了。 这是我的javascript:

document.addEventListener('DOMContentLoaded',function(){
//log(“jsrunning”);
var days=document.querySelector('.days span');
var hour=document.querySelector('.hour');
var min=document.querySelector('.min');
var second=document.querySelector('.second');
var startDate=新日期(2020年11月20日);
days.innerText=数学楼层((新日期-起始日期)/86400000);
countTime();
函数countTime(){
让今天=新日期();
让ms=(今天-开始日期)%86400000;
hour.innerText=数学楼层(ms/3600000);
min.innerText=数学楼层(ms%3600000/60000);
second.innerText=数学楼层(ms%3600000%60000/1000);
}
设置间隔(计数时间,1000);
},假);

在您的示例中,
ms
变量是天数,您在其他每次计算中都使用它,而不是实际的时差。您可以将差值转换为秒,然后从那里开始计算:

document.addEventListener('DOMContentLoaded',function(){
const$=document.querySelector.bind(文档),
天数=$('.days span'),
小时=$(“.hour”),
最小值=$('.min'),
秒=$('.second');
const startDate=新日期(2020年11月20日);
countTime();
函数countTime(){
const today=新日期(),
diffinsionds=数学地板((今天-开始日期)/1000);
days.innerText=数学楼层(diffinsonds/86400);
hour.innerText=Math.floor(diffinsionds%86400/3600);
min.innerText=数学楼层(DiffInseBonds%3600/60);
second.innerText=Math.floor(diffinsonds%60);
}
设置间隔(计数时间,1000);
});
天
小时
会议记录

,根据用户输入的日期计算天数。-什么的天数?请解释..这个问题不完整,但是我建议使用它来区分不同的日期:
var diffDays=TimeUnit.millizes.toDays(Math.abs(startDate.getTime()-(new Date.getTime())
@TalRofe很抱歉不够清楚。但是我放在示例中的代码是我的js的更简单版本。但是有一个函数要求用户输入他们的日期,它将以月、日和年的形式输入。比如说,用户输入的月份是6月,日期是23日,年份是2012年。然后示例中的代码将更改,而不是var startDate=新日期(2020,11,20);它将基于用户输入。