繁体   English   中英

如何获取JavaScript中两个日期之间的秒数?

[英]How to get the number of seconds between two dates in javascript?

我正在尝试获取JavaScript中两个日期之间的秒数。
这里这里的问题建议一个简单的减法运算就可以解决问题,而其他答案则建议您使用.getTime().valueOf()属性。
但是尽管如此,当我减去两个相距5秒的日期时,我得到的值1551181475795太大而无法正确。
这是我的代码:

 var countDownDate = new Date("Mar 16, 2019 16:33:25").valueOf(); var dist = 347155200; // Update the count down every 1 second var x = setInterval(function() { // Get todays date and time var now = new Date("Mar 16, 2019 16:33:30"); // Find the distance between now and the count down date var distance = Math.abs(now - countDownDate / 1000); // Display the result in the element with id="demo" document.getElementById("demo").innerHTML = distance; // If the count down is finished, write some text if (distance < 0) { clearInterval(x); document.getElementById("demo").innerHTML = "EXPIRED"; } }, 1000); 
 <p id='demo'> 

如您所见,两个时间仅相隔5秒,但将它们分开的值没有意义。
提前致谢!

这是一个操作顺序,在进行减法之前,您要将countDownDate除以1000 (现在正在计算now - countDownDate / 1000但是应该先计算(now - countDownDate) / 1000 ,先减去):

 var countDownDate = new Date("Mar 16, 2019 16:33:25").valueOf(); var dist = 347155200; // Update the count down every 1 second var x = setInterval(function() { // Get todays date and time var now = new Date("Mar 16, 2019 16:33:30"); // Find the distance between now and the count down date var distance = Math.abs((now - countDownDate) / 1000); // Display the result in the element with id="demo" document.getElementById("demo").innerHTML = distance; // If the count down is finished, write some text if (distance < 0) { clearInterval(x); document.getElementById("demo").innerHTML = "EXPIRED"; } }, 1000); 
 <p id="demo"></p> 

如您所研究的,您可以简单地将较旧的日期从较旧的日期中减少,该较旧的日期返回两个日期之间的毫秒数。

用1000除以得到秒数。

 let start = new Date("Mar 16, 2019 16:33:25") let end = new Date("Mar 16, 2019 16:33:30"); let secondsBetween = (end - start) / 1000; console.log("without value of:", secondsBetween, "seconds") start = new Date("Mar 16, 2019 16:33:25").valueOf() end = new Date("Mar 16, 2019 16:33:30").valueOf() secondsBetween = (end - start) / 1000; console.log("using value of:",(end - start) / 1000, "seconds") 

暂无
暂无

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

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