Показать сообщение отдельно

  #2  
Старый 04.03.2008, 14:55
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
С нами: 10191686

Репутация: 210
По умолчанию

PHP код:
<?php

function calc_period($date_start, $date_finish) {
                
$st = explode('-', date('d-m-Y-H-i-s', $date_start));
                
$fin = explode('-', date('d-m-Y-H-i-s', $date_finish));

                if ((
$seconds = $fin[5] - $st[5]) < 0) {
                        
$fin[4]--;
                        
$seconds += 60;
                }

                if ((
$minutes = $fin[4] - $st[4]) < 0) {
                        
$fin[3]--;
                        
$minutes += 60;
                }

                if ((
$hours = $fin[3] - $st[3]) < 0) {
                        
$fin[0]--;
                        
$hours += 24;
                }

                if ((
$days = $fin[0] - $st[0]) < 0) {
                        
$fin[1]--;
                        
$days = date('t', mktime(1, 0, 0, $st[1], $st[0], $st[2])) - $st[0] + $fin[0];
                }

                if ((
$months = $fin[1] - $st[1]) < 0) {
                        
$fin[2]--;
                        
$months += 12;
                }

                
$years = $fin[2] - $st[2];
                
                return array(
$seconds, $minutes, $hours, $days, $months, $years);
}


// Примеры использования

$date_finish = strtotime("1-03-2008");
$date_start = strtotime("31-01-2008");

$result = calc_period($date_start, $date_finish);

echo 
'C ' . date('h:i:s d-m-y', $date_start) . ' по '. date('h:i:s d-m-y', $date_finish) .' прошло ' . $result[0] . ' секунд ' . $result[1]. ' минут ' .$result[2] . ' часов ' .$result[3] . ' дней ' . $result[4] . ' месяцев ' . $result[5] . ' лет <br>';

?>
 
Ответить с цитированием