我正在创建一个倒数计时器。我希望即使我在PC上更改时间和日期,计时器也要固定。但是当我在PC上更改日期和时间时,它会不断更改。请在下面查看我的代码。
如果用户从另一个时区打开它,我想显示相同的计时器。
谢谢
<div class="countdown">
<p class="timer">
<span id="days"></span> Day(s)
<span id="hours"></span> Hour(s)
<span id="minutes"></span> Minute(s)
<span id="seconds"></span> Second(s)
</p>
</div>
<script type="text/javascript">
function countdown(endDate) {
let days, hours, minutes, seconds;
endDate = new Date(endDate).getTime();
if (isNaN(endDate)) {
return;
}
setInterval(calculate, 1000);
function calculate() {
var currentUtcTime = new Date(); // This is in UTC
let startDate = new Date(currentUtcTime.toLocaleString('en-US', { timeZone: 'Asia/Singapore' }));
startDate = startDate.getTime();
startDate2 = currentUtcTime.getTime();
let timeRemaining = parseInt((endDate - startDate) / 1000);
if (timeRemaining >= 0) {
days = parseInt(timeRemaining / 86400);
timeRemaining = (timeRemaining % 86400);
hours = parseInt(timeRemaining / 3600);
timeRemaining = (timeRemaining % 3600);
minutes = parseInt(timeRemaining / 60);
timeRemaining = (timeRemaining % 60);
seconds = parseInt(timeRemaining);
document.getElementById("days").innerHTML = parseInt(days, 10);
document.getElementById("hours").innerHTML = ("0" + hours).slice(-2);
document.getElementById("minutes").innerHTML = ("0" + minutes).slice(-2);
document.getElementById("seconds").innerHTML = ("0" + seconds).slice(-2);
} else {
return;
}
}
}
(function () {
countdown('12/05/2018 05:00:00 PM');
}());
</script>