Q:

PHP функция (Время - Время)

Есть функция, которая отнимает одно время от другого?
Например:  
2012-02-17 3:21 - 2012-02-15 2:01 = 2 дня 1 час 20 минут 13 секунд

A:

Посмотрите, может так?
function meinformat($int) {
    function form($n) {
        if($n > 20) $n %= 10;
        if($n == 1) return 1;
        elseif($n > 1 && $n < 5) return 2;
        return 0;
    }
    $years=array("лет", "год", "года");
    $months=array("месяцев", "месяц", "месяца");
    $days=array("дней", "день", "дня");
    $hours=array("часов", "час", "часа");
    $minutes=array("минут", "минута", "минуты");
    $secs=array("секунд", "секунда", "секунды");
    $s = array();
    if($int->y) 
        $s[] = $int->y . ' ' . $years[form($int->y)];
    if($int->m) 
        $s[] = $int->m . ' ' . $months[form($int->m)];
    if($int->d) 
        $s[] = $int->d . ' ' . $days[form($int->d)];
    if($int->h) 
        $s[] = $int->h . ' ' . $hours[form($int->h)];
    if($int->i) 
        $s[] = $int->i . ' ' . $minutes[form($int->i)];
    if($int->s) 
        $s[] = $int->s . ' ' . $secs[form($int->s)];
    return implode(" ", $s);
}

