Я использую JavaScript, и я хочу, чтобы отсчет времени каждые 2 часа, начиная с 12 утра EST.JavaScript Получить, чтобы получить текущее время и текущее время обратного отсчета
я в настоящее время есть код, который отсчитывает 2 часа и сбрасывается, но я хочу, чтобы это делалось исходя из времени с 12 утра.
Я либо хочу, чтобы мой текущий код начинался с 12 часов, а не когда некоторые обращаются к странице, или мне нужно сделать это по-другому (откройте предложения).
Большое спасибо!
var startTime = new Date(),
expiryTime = new Date(),
hourElem = document.getElementById('js-hour'),
minuteElem = document.getElementById('js-minute'),
secondElem = document.getElementById('js-second');
// Set up expiry time
expiryTime.setHours(expiryTime.getHours() + 2);
expiryTime.setMinutes(expiryTime.getMinutes() + 0);
expiryTime.setSeconds(expiryTime.getSeconds() + 0);
var diffInMs = expiryTime - startTime,
diffInSecs = Math.round(diffInMs/1000),
amountOfHours = Math.floor(diffInSecs/3600),
amountOfSeconds = diffInSecs - (amountOfHours * 3600),
amountOfMinutes = Math.floor(amountOfSeconds/60),
amountOfSeconds = amountOfSeconds - (amountOfMinutes * 60);
// Set up the countdown timer for display
// Set up the hours
if(amountOfHours > 0) {
hourElem.innerHTML = (amountOfHours < 10)
? '0' + amountOfHours + ' : '
: amountOfHours + ' : ';
} else {
hourElem.innerHTML = '00 : ';
}
// Set up the minutes
if(amountOfMinutes > 0) {
minuteElem.innerHTML = (amountOfMinutes < 10)
? '0' + amountOfMinutes + ' : '
: amountOfMinutes + ' : ';
} else {
minuteElem.innerHTML = '00 : ';
}
// // Set up the seconds
if(amountOfSeconds > 0) {
secondElem.innerHTML = (amountOfSeconds < 10)
? '0' + amountOfSeconds
: amountOfSeconds;
} else {
secondElem.innerHTML = '00';
}
function countDown() {
var dateNow = new Date();
// If we're not at the end of the timer, continue the countdown
if(expiryTime > dateNow) {
// References to current countdown values
var hours = parseInt(hourElem.innerHTML);
minutes = parseInt(minuteElem.innerHTML),
seconds = parseInt(secondElem.innerHTML);
// Update the hour if necessary
if(minutes == 0 && seconds == 0) {
if ( hours != 0) {
--hours;
hourElem.innerHTML = (hours < 10) ? '0' + (hours) + ' : ' : (hours) + ' : ';
minuteElem.innerHTML = '59 : ';
secondElem.innerHTML = '59';
return;
}
else {
hourElem.innerHTML = '02 : ';
minuteElem.innerHTML = '00 : ';
secondElem.innerHTML = '00';
return;
}
}
// Update the minute if necessary
if(seconds == 0) {
if(minutes > 0) {
--minutes;
minuteElem.innerHTML = (minutes > 10) ? minutes + ' : ' : '0' + minutes + ' : ';
} else {
minuteElem.innerHTML = '59' + ' : ';
}
return secondElem.innerHTML = '59';
} else {
--seconds;
secondElem.innerHTML = (seconds < 10) ? '0' + seconds : seconds;
}
} else {
expiryTime.setHours(expiryTime.getHours() + 2);
expiryTime.setMinutes(expiryTime.getMinutes() + 0);
expiryTime.setSeconds(expiryTime.getSeconds() + 0);
}
}
window.onload = function() {
// Begin the countdown!
countDownInterval = setInterval(countDown, 1000);
}
Что делать, если на вашей странице никого не было в 12 часов ??? – SasaT
Если у вас есть 2-часовой обратный отсчет, то он отсчитывается с 12 до 2 утра и сбрасывается. В 4AM, 6AM, 8AM, 10AM, 12PM и т. Д. Он сбрасывается. Если время 5AM, время должно быть в течение одного часа, отсчитывая до 0. Так что, похоже, вам нужно настроить, как вы засеваете свой таймер. Ваше семя таймера всегда установлено равным 2, и это не всегда верно. – AxGryndr
У нас есть служба, которая сбрасывается в 12 часов и каждые 2 часа после этого. В основном мне нужно реплицировать это для веб-сайта в javascript. Я понятия не имею, как это сделать. – user3745357