+1 Я этого не заметил.
я есть два скрипта, один на PHP, чтобы получить сервер времени, а другой - обратный отсчет JavaScript, основанный на дате и времени. Я не уверен, что я делаю неправильно, но когда я передаю дату и время в javascript, он показывает 0days 0 часов и 1 секунду, а затем истекает. Независимо от того, как далеко в будущем я установлю дату и время, это всегда происходит. Что я могу сделать, чтобы правильно провести время в этом коде JavaScript?
<?php
$date = 'July 19 2011 05:00:00 PM PDT';
$exp_date = "var end = new Date('". $date ."');";
$todays_date = date("F j Y g:i:s A T");
if ($todays_date < $exp_date) {
?>
<script>
<?php echo $exp_date ;?>
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour *24
var timer;
function showRemaining()
{
var now = new Date();
var distance = end - now;
if (distance < 0 ) {
clearInterval( timer );
document.getElementById('countdown').innerHTML = 'EXPIRED!';
return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor( (distance % _day ) / _hour );
var minutes = Math.floor( (distance % _hour) / _minute );
var seconds = Math.floor( (distance % _minute) / _second );
document.getElementById('countdown').innerHTML = 'Days: ' + days + '<br />';
document.getElementById('countdown').innerHTML += 'Hours: ' + hours+ '<br />';
document.getElementById('countdown').innerHTML += 'Minutes: ' + minutes+ '<br />';
document.getElementById('countdown').innerHTML += 'Seconds: ' + seconds+ '<br />';
}
timer = setInterval(showRemaining, 1000);
</script>
<?php
} else {
echo "Times Up";
}
?>
<div id="countdown"></div>