[英]Javascript return number of days,hours,minutes,seconds between two dates
[英]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.