Настройка таймера обратного отсчета Jquery

#php #jquery #datetime #date

#php #jquery #дата и время #Дата

Вопрос:

я использую плагин для таймера обратного отсчета jquery от keith-wood на своем веб-сайте (http://keith-wood.name/countdown.html ), но я инициализирую его данными из моей базы данных. Как и в спецификациях, в этом плагине первый месяц равен 0 (нулю), поэтому, когда я объявляю данные, я должен уменьшить их на единицу (1). Я не знаю, как это сделать в моем коде:

мой код:

 <script>
    $(function () {
        var austDay = new Date();
        austDay = new Date( <? php echo date('Y', strtotime($sale - > end)) ?> , <? php echo date('m', strtotime($sale - > end)) ?> , <? php echo date('d-1', strtotime($sale - > end)) ?> , <? php echo date('h', strtotime($sale - > end)) ?> , <? php echo date('i', strtotime($sale - > end)) ?> , <? php echo date('s', strtotime($sale - > end)) ?> );
        $('#defaultCountdown').countdown({
            until: austDay,
            format: 'dHMS'
        });
    });
</script>
  

$sale-> end — это переменная datetime, и там в конце))?> мне нужно уменьшить на единицу номер месяца.
есть идеи о том, как я могу это сделать?

Спасибо!

Комментарии:

1. В каком формате хранится дата в базе данных?

Ответ №1:

Ваша проблема в том, что data() функция PHP выдает текстовую строку вместо числа. Итак, сначала вам нужно вывести месяц, а затем вычесть 1

 <script type="text/javascript">
    $(function () {
        var austDay = new Date( <? php $timstamp = strtotime($sale - > end); echo date('Y,m,', $timstamp); echo(date('j', $timstamp) - 1); echo date(',h,i,s', $timstamp); ?> );

        $('#defaultCountdown').countdown({
            until: austDay,
            format: 'dHMS'
        });
    });
</script>
  

Ответ №2:

Ну, вы можете просто вычесть 1 из месяца:

 <?php echo (date('m', strtotime($sale->end))-1)?>