Я знаю, что этот вопрос задавался много раз, так как я нашел несколько в google, а также в stackoverflow.
но ни один из них не объяснил, как форматировать мое datetime в моем php, поэтому он работает в сочетании с таймером обратного отсчета jquery. поэтому я собираюсь спросить об этом здесь, в надежде, что я получу кого-то, чтобы пролить свет на это для меня.
В основном то, что я пытаюсь сделать, – создать таймер обратного отсчета, который будет работать с mysql datetime.
datetime хранится в mysql, поэтому все, что нужно сделать, – это получить правильный формат в моем php, чтобы таймер обратного отсчета мог работать с ним.
Я использую этот плагин: http://keith-wood.name/countdown.html
и вот что я до сих пор:
Форматирование PHP:
$end_date = date("md YH:i:s T", strtotime($row["end_date"]));
Код Jquery / Javascript:
<script type="text/javascript"> $(function(){ var countdown = $('#countdown'), ts = new Date(<?php echo $end_date * 1000; ?>), finished = true; if((new Date()) > ts) { finished = false; } $('#defaultCountdown').countdown({ timestamp : ts, callback : function(days, hours, minutes, seconds) { var message = ""; message += days + " days, "; message += hours + " hours, "; message += minutes + " minutes, "; message += seconds + " seconds "; message = (finished ? "Countdown finished" : "left untill the New Year"); countdown.html(message); } }); }); </script>
когда я запускаю этот код, все, что я получаю, составляет 0 hours, 0 minutes, 0 seconds.
Я могу только подозревать, что проблема связана с форматированием даты и времени в моей секции php!
или я пропущу что-то еще?
хорошо, мне удалось минимизировать код:
<script type="text/javascript"> $(document).ready(function () { $('#defaultCountdown').countdown({ until: new Date(<?php echo $end_date; ?>), compact: true }); }); </script>
и изменил php на это:
$end_date = date("Y, n, j, G, i, s", strtotime($row["end_date"]));
Однако время, указанное в таймере coutdown, неверно (выход выключен).
$end_date
: September 22 2013 23:30:00 GMT
в mysql datetime
но таймер обратного отсчета jquery показывает:
34d 06:21:48 2013, 9, 22, 23, 30, 00
34дней и 6 часов бла-бла абсолютно неправы!
что я делаю сейчас неправильно?