Сравниваем даты
<?php
//Сравниваем даты
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
foreach($arResult[ITEMS] as $kItem => $vItems){
if($vItems[DATE_ACTIVE_FROM]){
$date_active = date('d.m.Y H:i:s', strtotime($vItems[DATE_ACTIVE_FROM]));
$date_cur = date('d.m.Y H:i:s');
if($date_cur < $date_active) $arResult[ITEMS][$kItem][DATE_ACTIVE_FROM] = $date_cur; else $arResult[ITEMS][$kItem][DATE_ACTIVE_FROM] = $date_active;
}
}
//Выводим дату в зависимости от прошедшего времени
foreach($arResult[ITEMS] as $kItem => $vItems){
if($vItems[DATE_ACTIVE_FROM]){
$startTime = date_create($vItems[DATE_ACTIVE_FROM]);
$endTime = date_create();
$diff = date_diff($endTime, $startTime);
$arResult[ITEMS][$kItem][DATE_ACTIVE_FROM] = date('d.m.Y', strtotime($vItems[DATE_ACTIVE_FROM]));
if ($diff->format('%d') <= 0 && $diff->format('%H') <= 0) {
$arResult[ITEMS][$kItem][DATE_ACTIVE_FROM] = $diff->format('%i').' мин. назад';
}
elseif ($diff->format('%d') <= 0 && $diff->format('%H') > 0) {
$arResult[ITEMS][$kItem][DATE_ACTIVE_FROM] = (int)$diff->format('%H').' ч. назад';
};
}
}
//Пример
$start = '2014-05-07 14:20:31';
$startTime = date_create($start);
$endTime = date_create();
$diff = date_diff($endTime, $startTime);
echo 'Прошло c последнего момента<br/><br/>';
echo 'месяцев: '.$diff->format('%m').'<br/>';
echo 'дней: '.$diff->format('%d').'<br/>';
echo 'часов: '.$diff->format('%H').'<br/>';
echo 'минут: '.$diff->format('%i').'<br/>';
echo 'секунд: '.$diff->format('%s').'<br/>';