Ну, это, вероятно, легко для вас, но я серьезно не могу заставить его работать.Обратный отсчет от определенной даты от mysql
Так что я хотел бы сделать, это сделать обратный отсчет, основанный на дате от mysql, и сделать это в режиме реального времени без необходимости обновления.
Код:
<?php
$date = strtotime($row_tournaments['date']);
$remaining = $date - time();
$days_remaining = floor($remaining/86400);
$hours_remaining = floor(($remaining % 86400)/3600);
$minutes_remaining = floor(($remaining % 3600)/60);
$seconds_remaining = ($remaining % 60);
echo "<p>$days_remaining <span style='font-size:.3em;'>dias</span> $hours_remaining <span style='font-size:.3em;'>horas</span> $minutes_remaining <span style='font-size:.3em;'>minutos</span> $seconds_remaining <span style='font-size:.3em;'>segundos</span></p>";
?>
Это прекрасно работает, но мне нужно обновить, чтобы я мог видеть время идет вниз.
Так я найти этот ответ,
Код:
<p id="counter"></p>
<script>
var counter = new Date(2015,10,10,20,25,30);
var counterElem = document.getElementById("counter");
setInterval(function()
{
counter.setSeconds(counter.getSeconds() - 1);
counterElem.innerHTML = counter.getDate()+" <span style=\'font-size:.3em;\'>dias</span> "+counter.getHours()+" <span style=\'font-size:.3em;\'>horas</span> "+counter.getMinutes()+" <span style=\'font-size:.3em;\'>minutos</span> "+counter.getSeconds()+" <span style=\'font-size:.3em;\'>segundos</span>";
},1000);
</script>
, что на самом деле работает довольно хорошо, но проблема в том, что
new Date(2015,10,10,20,25,30)
принимает только этот формат, и в моей базе данных формат даты
2015-10-06 06:17:18
И я не умею конвертировать.
Пожалуйста, помогите, если у вас, ребята, лучшее решение, хорошо приветствуется.
Спасибо за ваше время.
Cumps.
Весь код:
<div id="countdownContainer">
<a href="tournaments.php?id_tournament=<?php echo $row_tournaments['id_tournament']; ?>"><img src="images/wallpapers/<?php echo $row_tournaments['logo']; ?>.jpg"></a>
<div id="countdownContent">
<p>Próximo Torneio:</p>
<?php
$date = strtotime($row_tournaments['date']);
$remaining = $date - time();
$days_remaining = floor($remaining/86400);
$hours_remaining = floor(($remaining % 86400)/3600);
$minutes_remaining = floor(($remaining % 3600)/60);
$seconds_remaining = ($remaining % 60);
echo "<p>$days_remaining <span style='font-size:.3em;'>dias</span> $hours_remaining <span style='font-size:.3em;'>horas</span> $minutes_remaining <span style='font-size:.3em;'>minutos</span> $seconds_remaining <span style='font-size:.3em;'>segundos</span></p>";
?>
<p id="counter"></p>
<script>
str = "$row_tournaments['date']"; // Your db format var date = new Date(Date.parse(str));
str = str.replace(/-/g,"/");
var counter = new Date(Date.parse(str));
var counterElem = document.getElementById("counter");
setInterval(function()
{
counter.setSeconds(counter.getSeconds() - 1);
counterElem.innerHTML = counter.getDate()+" <span style=\'font-size:.3em;\'>dias</span> "+counter.getHours()+" <span style=\'font-size:.3em;\'>horas</span> "+counter.getMinutes()+" <span style=\'font-size:.3em;\'>minutos</span> "+counter.getSeconds()+" <span style=\'font-size:.3em;\'>segundos</span>";
},1000);
</script>
</div>
</div>
для преобразования вашей строки из БД используйте 'var date = new Date (Date.parse (" 2015-10-06 06:17:18 "));' – Saar
хорошо, я guees, который может работать, но prob im делает что-то не так, должен ли я поставить код как этот var counter = new Date (Date.parse ($ row_tournaments ['date'])) ;? потому что если да, то это не работает, дата не появляется. – Bruno
@Saar, который возвращает недопустимую дату в некоторых браузерах, потому что строка не является допустимым форматом – charlietfl