gpt4 book ai didi

javascript - 每 3 天倒数计时器

转载 作者:行者123 更新时间:2023-12-02 14:49:02 24 4
gpt4 key购买 nike

我有点困惑。我需要得到该月的第一天应该开始计算 3 天。到到期重新开始时。

var today = new Date(),
end = new Date( today.getFullYear(), today.getMonth(), today.getDate() + 3 );

var timer = setInterval(function() {
var differenceTime, dd, hh, mm, ss, str;

if ( ( new Date().getDate() == end.getDate() ) || ( new Date().getDate() == 1 ) ) {
end = new
} else {
differenceTime = end - new Date();

dd = parseInt(differenceTime / (1000 * 60 * 60 * 24));
hh = parseInt(differenceTime / (60 * 60 * 1000)) % 24;
mm = parseInt(differenceTime / (1000 * 60)) % 60;
ss = parseInt(differenceTime / 1000) % 60;

document.querySelector('.days').innerHTML = format(dd);
document.querySelector('.hours').innerHTML = format(hh);
document.querySelector('.minutes').innerHTML = format(mm);
document.querySelector('.seconds').innerHTML = format(ss);
}
}, 1000);

function format(num) {
return (9 < num) ? num : "0" + num;
};
<div class="cowntdown">
<span class="days"></span>
<span class="hours"></span>
<span class="minutes"></span>
<span class="seconds"></span>
</div>
<div class="cowntdown">
<span class="days"></span>
<span class="hours"></span>
<span class="minutes"></span>
<span class="seconds"></span>
</div>

帮助创造正确的条件。

最佳答案

我尝试尽可能多地重用您的代码。如果我正确理解你的问题,这应该可以解决问题。如果您使用moment.js,您可能会得到一些更清晰的代码,特别是在格式化文本和计算日期之间的差异时。

请记住,该检查并不完全准确,因为它比较的日期最多为秒。

var numberOfDays = 3;
var today = new Date();
var start = getNextStartDate(today);
var end = getNextEndDate(today);

var timer = setInterval(function() {
var differenceTime, dd, hh, mm, ss, str;
var now = new Date();
if (now >= end) {
start = getNextStartDate(now);
end = getNextEndDate(now);
} else {
differenceTime = end - now;

dd = parseInt(differenceTime / (1000 * 60 * 60 * 24));
hh = parseInt(differenceTime / (60 * 60 * 1000)) % 24;
mm = parseInt(differenceTime / (1000 * 60)) % 60;
ss = parseInt(differenceTime / 1000) % 60;

document.querySelector('.days').innerHTML = format(dd);
document.querySelector('.hours').innerHTML = format(hh);
document.querySelector('.minutes').innerHTML = format(mm);
document.querySelector('.seconds').innerHTML = format(ss);
}
}, 1000);

function getNextEndDate(fromDate) {
return new Date(fromDate.getFullYear(), fromDate.getMonth(), fromDate.getDate() + numberOfDays);
}

function getNextStartDate(currentDate) {
var currentDay = currentDate.getDate();
var index = Math.ceil(currentDay / 3);
var nextStartDay = 1 + numberOfDays * index
return new Date(currentDate.getFullYear(), currentDate.getMonth(), nextStartDay);
}

function format(num) {
return (9 < num) ? num : "0" + num;
};
<div class="cowntdown">
<span class="days"></span>
<span class="hours"></span>
<span class="minutes"></span>
<span class="seconds"></span>
</div>

还有一个jsfiddle如果你愿意的话

关于javascript - 每 3 天倒数计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352088/

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