Рассчитывать месяцы, годы и дни между двумя заданными датами как временная метка

Возможный дубликат:
Как рассчитать разницу между двумя датами с помощью PHP?
Как получить разницу между двумя датами в Год / Месяц / Неделя / День?

Я пытаюсь рассчитать годы и месяцы и дни между двумя датами в PHP.

Я также использую timestamp of the date. есть ли способ рассчитать годы и месяцы и

дней от разницы этих штампов времени.

например, первая дата – 2 января 2008 года, а вторая – 5 июля 2012 года. Результатом является 4 года 5 месяцев и 3 дня.

Я работаю над меткой времени как дата ввода и хочу знать, что есть какая-либо функция, которая непосредственно вычисляет выше вещи по двум временным меткам ввода

Вы можете использовать для этого объект DateTime (обратите внимание на отсутствующий «,» в конструкторе datetime).

$datetime1 = new DateTime('2 Jan 2008'); $datetime2 = new DateTime('5 July 2012'); $interval = $datetime1->diff($datetime2); echo $interval->format('%y years %m months and %d days'); 

Вы можете сделать это довольно легко с помощью DateTime:

 $date1 = new DateTime("2008-01-02"); $date2 = new DateTime("2012-07-05"); $diff = $date1->diff($date2); echo "difference " . $diff->y . " years, " . $diff->m." months, ".$diff->d." days " 

Документация

Вы должны взглянуть на Carbon , это довольно новая PHP 5.3 lib поверх DateTime с множеством полезных методов.

Для даты diff:

 <?php $dtOttawa = Carbon::createFromDate(2000, 1, 1, 'America/Toronto'); $dtVancouver = Carbon::createFromDate(2013, 1, 1, 'America/Vancouver'); echo $dtOttawa->diffInHours($dtVancouver); echo $dtOttawa->diffInDays($dtVancouver); echo $dtOttawa->diffInMinutes($dtVancouver); echo $dtOttawa->diffInYears($dtVancouver); 

Если вы хотите, чтобы читаемый человеком diff:

 $dt = Carbon::createFromDate(2011, 2, 1); echo $dt->diffForHumans($dt->copy()->addMonth()); // 28 days before echo $dt->diffForHumans($dt->copy()->subMonth()); // 1 month after 

Вы можете создать два объекта DateTime (www.php.net/datetime) из временных меток. При вызове метода diff вы получаете объект DateInterval, который имеет свойства в течение многих лет и месяцев.