Возможности:
Функция показывает дату добавления чего-либо в формате "1 минута/час назад", если добавлено больше суток назад, то пишет "вчера в (время)", аналогично из позавчера. Если прошло больше 3 суток, то показывает обычную дату в формате "H:i:s d/m/Y"
Ну вобщем всё. Вот сама функция:
////////////////////////////////////////////
// Функция форматировки времени by Z3RO //
////////////////////////////////////////////
// $t - дата в РНР-формате //
// $format - формат вывода даты после 72ч //
////////////////////////////////////////////
function f_time($t, $f="H:i:s d/m/Y"){
global $set_user;
$time = time();
if($time - $t <= 60)
$out = 'меньше минуты назад';
else if(($time - $t >= 60*60*24) && ($time - $t <= 60*60*24*2))
$out = 'вчера в ' . date("H:i", $t + $set_user['sdvig'] * 3600);
else if(($time - $t >= 60*60*24*2) && ($time - $t <= 60*60*24*3))
$out = 'позавчера в ' . date("H:i", $t + $set_user['sdvig'] * 3600);
else if($time - $t >= 60*60*24*3)
$out = date($f, $t + $set_user['sdvig'] * 3600);
else
{
$r = $time - $t;
if($r < 3600)
{
$vars = array(
'минут',
'минуту',
'минуты',
'минуты',
'минуты',
'минут',
'минут',
'минут',
'минут',
'минут'
);
$a = ($r/60) % 10;
if(($r >= 11*60) && ($r <= 20*60))
$v = $vars['0'];
else
$v = $vars[$a];
$out = floor($r/60) . ' ' . $v . ' назад';
}
else if($r >= 3600 && $r <= 60*60*24)
{
$vars = array(
'часов',
'час',
'часа',
'часа',
'часа',
'часов',
'часов',
'часов',
'часов',
'часов'
);
$a = ($r/3600) % 10;
if(($r >= 11*60*60) && ($r <= 20*60*60))
$v = $vars['0'];
else
$v = $vars[$a];
$out = floor($r/3600) . ' ' . $v . ' назад';
}
}
return $out;
}