Как рассчитать разницу между двумя датами с помощью PHP? - PullRequest
682 голосов
/ 24 марта 2009

У меня есть две даты в форме:

Start Date: 2007-03-24 
End Date: 2009-06-26

Теперь мне нужно найти разницу между этими двумя в следующей форме:

2 years, 3 months and 2 days

Как я могу сделать это на PHP?

Ответы [ 32 ]

1 голос
/ 15 декабря 2017

Вот исполняемый код

$date1 = date_create('2007-03-24');
$date2 = date_create('2009-06-26');
$diff1 = date_diff($date1,$date2);
$daysdiff = $diff1->format("%R%a");
$daysdiff = abs($daysdiff);
1 голос
/ 04 октября 2017
$date = '2012.11.13';
$dateOfReturn = '2017.10.31';

$substract = str_replace('.', '-', $date);

$substract2 = str_replace('.', '-', $dateOfReturn);



$date1 = $substract;
$date2 = $substract2;

$ts1 = strtotime($date1);
$ts2 = strtotime($date2);

$year1 = date('Y', $ts1);
$year2 = date('Y', $ts2);

$month1 = date('m', $ts1);
$month2 = date('m', $ts2);

echo $diff = (($year2 - $year1) * 12) + ($month2 - $month1);
...