Вычисление разницы дат MySQL и PHP в днях

Я пытаюсь рассчитать разницу дат в дни, используя дату MySQL и PHP.

Мой код

$ArrivalDate = $variants_data['ArrivalDate']; $daydiff=floor((abs(strtotime(date("d/m/Y")) - strtotime($ArrivalDate))/(60*60*24))); 

Вывод

 <td>'.$daydiff.'</td> 

Результаты Я получаю 93 дня вместо 26 дней (получил 26 дней с помощью этого калькулятора http://easycalculation.com/date-day/number-of-days.php )

Значение ArrivalDate = 2013-05-03 из таблицы MySQL и изменяется из-за транспортных задержек и т. Д.

Как я могу достичь этого в PHP?

попробуй это

 $daydiff=floor((abs(strtotime(date("Ymd")) - strtotime($ArrivalDate))/(60*60*24))); 

просто измените свой формат текущей даты, чтобы он дал правильный ответ на 26 дней.

 $diff = strtotime(date("d/m/Y")) - strtotime($ArrivalDate); echo "Difference is $diff seconds\n"; $days = floor($diff/(3600*24)); echo "Difference is $days days\n"; 

Вы также можете сделать это на уровне базы данных с помощью функции DATEDIFF ().

http://www.w3schools.com/SQl/func_datediff_mysql.asp

Используйте класс DateTime:

 $today = new DateTime; $oneWeekLater = clone $today; $oneWeekLater->modify('+1 week'); $diff = $today->diff($oneWeekLater); echo $diff->format('Ymd H:i:s'); 

http://www.php.net/manual/en/class.datetime.php

http://www.php.net/manual/en/class.dateinterval.php

 $days = date("d", $timestamp1) - date("d", $timestamp2); 

Попробуй это

 $ArrivalDate = '2013-05-03'; echo $daydiff=floor((abs(strtotime(date("Ymd")) - strtotime($ArrivalDate))/(60*60*24))); 

Функция даты не соответствует формату даты прибытия