#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)?>