gpt4 book ai didi

javascript - 计算javascript中两个日期之间的秒数

转载 作者:行者123 更新时间:2023-11-28 12:28:54 25 4
gpt4 key购买 nike

我一直在寻找学习如何计算两个特定日期之间的时间:现在的日期和我们计算的日期。

我找到了这个片段并根据我的需要对其进行了编辑:

function dateDiffInDays(a, b) {
var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate(), a.getHours(), a.getMinutes(), b.getSeconds());
var utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate(), b.getHours(), b.getMinutes(), b.getSeconds());

return Math.floor((utc2 - utc1) / 1000);
}

它计算两个日期之间的秒数。

这段代码正在调用此方法:

var j = new Date('July, 05, 2012');
var n = new Date();

setInterval(function () {
document.getElementById("b").innerHTML = dateDiffInDays(j, n);
}, 1000)

它每秒自动更新是什么,我以为我是用 setInterval 方法做到的。为什么这不起作用?

此外,每当我重新运行代码时,它甚至不会更新数字。

Demo here

最佳答案

这是正确的版本:

var j = new Date('July, 05, 2012');
setInterval(function () {
var n = new Date();
document.getElementById("b").innerHTML = dateDiffInDays(j, n);
}, 1000);

n 从未在您的代码中更新。

j 保持不变,因为它的值是常量。但我将 n 移至周期函数内,以便它在每个周期获得一个新值。

<小时/>

哦,你在这一行犯了一个错误:

var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate(), a.getHours(), a.getMinutes(), b.getSeconds());

应该是:

var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate(), a.getHours(), a.getMinutes(), a.getSeconds());

关于javascript - 计算javascript中两个日期之间的秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24488972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com