I Поместите дату в базу данных MySql в следующем формате: 2014-04-06
Теперь мне нужно распечатать обратный отсчет от NOW
до 2014-04-06
.
Код PHP:
$date = strtotime($row['end_date']);
$remaining = $date - time();
$days_remaining = floor($remaining / 86400);
echo $days_remaining;
Выход :
1
Этот вывод неверен. Истинный результат должен быть: 3 дня. Как это распечатать?
3 ответа
Единственное, что я могу предложить, - это убедиться, что вы правильно установили настройки часового пояса. Что-то вроде,
date_default_timezone_set('America/Chicago');
$now = time();
$your_date = strtotime('2014-04-06');
$datediff = $your_date - $now;
$days_remaining = floor($datediff/(60*60*24));
echo $days_remaining; // echoes 2
Я попробовал с этим и получил 1 на выходе:
date_default_timezone_set('Etc/GMT-10');
$now = time();
$your_date = strtotime('2014-04-06');
$datediff = $your_date - $now;
$days_remaining = floor($datediff/(60*60*24));
echo $days_remaining; // echoes 1
Все, что вам нужно сделать, это выполнить следующий оператор sql и прочитать его запись любым способом, который вы используете в своем приложении.
SELECT DATEDIFF('2014-04-06', CURDATE());
Это способ найти количество дней между двумя датами.
<?php
$now = time(); // or your date as well
$your_date = strtotime($row['end_date']);
$datediff = $your_date - $now;
$days_remaining = floor($datediff/(60*60*24));
echo $days_remaining;
?>
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.