Simindey
2/20/2017 - 5:26 PM

Сравниваем даты

Сравниваем даты

<?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/>';