Разница между двумя датами в днях

У меня есть следующее:

$dateStart = get_post_meta( get_the_ID(), 'startdate' , true);
$dateStart = DateTime::createFromFormat('d/m/Y h:i:s', $dateStart);
$dStart = $dateStart->format('d/m/y');true);
$dEnd = date("d/m/y");
echo $dStart .'-'.$dEnd;

Это выводы 12/06/15-28/10/15 но для жизни я не могу понять, как получить разницу в днях между двумя датами.

Любой совет? Я пробовал несколько вещей, но каждый раз они ошибались.

Спасибо

-1

Решение

Используйте это (рабочий пример)

date_default_timezone_set("Asia/Colombo");

$dateStart = get_post_meta( get_the_ID(), 'startdate' , true);
$datetime1 = new DateTime(date('Y-m-d', $dateStart));
$datetime2 = new DateTime(date('Y-m-d', $dateStart)));

$interval = $datetime1->diff($datetime2);
$date_diff = $interval->format('%R%a days');

echo "Difference is ".$date_diff
0

Другие решения

использование DateTime :: диффhttp://php.net/manual/en/datetime.diff.php

$dateStart = DateTime::createFromFormat('d/m/Y h:i:s', $dateStart);
$dateEnd = new DateTime();
$difference = $dateStart->diff($dateEnd);

Также обратите внимание, что теперь не подразумевается отсутствие перехода к diff (). Так что это будет работать, в вашем конкретном примере:

$dateStart = DateTime::createFromFormat('d/m/Y h:i:s', $dateStart);
$difference = $dateStart->diff();
-1

$daysBefore = round(abs(strtotime(Date("l, d F Y"))-strtotime($dateStart))/86400);
$daysAfter =  round(abs(strtotime(Date("l, d F Y"))-strtotime($dateEnd))/86400);

Казалось, это единственный способ заставить его работать

-1
По вопросам рекламы [email protected]