我正在为一款 MMORPG(游戏)构建一个资源,该资源每天和每周都会重置。一次重置是每周日凌晨 4 点(世界标准时间),另一次重置是每天凌晨 4 点(世界标准时间)。我希望在页面顶部显示这些重置的倒计时器。
下面的 JavaScript 代码每天倒计时到午夜。我如何修改此代码以便可以构建 2 个倒计时。 1 倒计时到 UTC 凌晨 4 点(每天),另一个倒计时到每周日 UTC 凌晨 4 点?
var div=document.getElementById("bb");
setInterval(function(){
var toDate=new Date();
var tomorrow=new Date();
tomorrow.setHours(24,0,0,0);
var diffMS=tomorrow.getTime()/1000-toDate.getTime()/1000;
var diffHr=Math.floor(diffMS/3600);
diffMS=diffMS-diffHr*3600;
var diffMi=Math.floor(diffMS/60);
diffMS=diffMS-diffMi*60;
var diffS=Math.floor(diffMS);
var result=((diffHr<10)?"0"+diffHr:diffHr);
result+=":"+((diffMi<10)?"0"+diffMi:diffMi);
result+=":"+((diffS<10)?"0"+diffS:diffS);
div.innerHTML=result;
},1000);
<div id="bb">
</div>
我已经使用您已经编写的代码编写了下面的代码:
var div = document.getElementById("bb");
var div2 = document.getElementById("bc");
setInterval(function() {
var toDate = new Date();
var tomorrow = new Date();
tomorrow.setHours(28, 0, 0);
var diffMS = tomorrow.getTime() / 1000 - toDate.getTime() / 1000;
var diffHr = Math.floor(diffMS / 3600);
diffMS = diffMS - diffHr * 3600;
var diffMi = Math.floor(diffMS / 60);
diffMS = diffMS - diffMi * 60;
var diffS = Math.floor(diffMS);
var result = ((diffHr < 10) ? "0" + diffHr : diffHr);
result += ":" + ((diffMi < 10) ? "0" + diffMi : diffMi);
result += ":" + ((diffS < 10) ? "0" + diffS : diffS);
div.innerHTML = result;
var nextSunday = getNextSunday(new Date());
nextSunday.setHours(4, 0, 0);
diffMS = nextSunday.getTime() / 1000 - toDate.getTime() / 1000;
diffHr = Math.floor(diffMS / 3600);
diffMS = diffMS - diffHr * 3600;
diffMi = Math.floor(diffMS / 60);
diffMS = diffMS - diffMi * 60;
diffS = Math.floor(diffMS);
result = ((diffHr < 10) ? "0" + diffHr : diffHr);
result += ":" + ((diffMi < 10) ? "0" + diffMi : diffMi);
result += ":" + ((diffS < 10) ? "0" + diffS : diffS);
div2.innerHTML = result;
}, 1000);
function getNextSunday(d) {
var t = new Date(d);
t.setDate(d.getDate() + (7 - d.getDay()) % 7);
return t;
}
<div id="bb">
</div>
<div id="bc">
</div>
首先,我做了一个小更改,为
tomorrow
添加了 4 个小时,以便它检查凌晨 4 点,而不是午夜。
之后,我刚刚添加了另一个
div
,我可以在其中输入从现在到周日凌晨 4 点之间的时间,并在底部添加一个获取下周日日期的函数。之后,代码几乎与您已经编写的代码相同!