Как показать последнее время входа (год, месяц, неделя, день, время, секунда) .. я попытался, но неправильный вывод

$ lastLoginTime = date ("Ymd H: i: s"); // последний логин, который будет храниться в БД во время входа в систему

Предположите, что последний вход: 2012-05-11 07:57:46
Текущее время: $ current_time = date ("Ymd H: i: s")

$diff_seconds = strtotime($current_time) - strtotime($lastLoginTime); $diff_weeks = floor($diff_seconds/604800); $diff_seconds -= $diff_weeks * 604800; $diff_days = floor($diff_seconds/86400); $diff_seconds -= $diff_days * 86400; $diff_hours = floor($diff_seconds/3600); $diff_seconds -= $diff_hours * 3600; $diff_minutes = floor($diff_seconds/60); $diff_seconds -= $diff_minutes * 60; echo "You last logged in $diff_weeks weeks, $diff_days days, "; echo "$diff_hours hours, $diff_minutes minutes, and $diff_seconds minutes ago."; 

Неверный выход ….! 🙁

Google (попробуйте некоторое время) дал мне это:

 <?php function duration($seconds, $max_periods) { $periods = array("year" => 31536000, "month" => 2419200, "week" => 604800, "day" => 86400, "hour" => 3600, "minute" => 60, "second" => 1); $i = 1; foreach ( $periods as $period => $period_seconds ) { $period_duration = floor($seconds / $period_seconds); $seconds = $seconds % $period_seconds; if ( $period_duration == 0 ) continue; $duration[] = "{$period_duration} {$period}" . ($period_duration > 1 ? 's' : ''); $i++; if ( $i > $max_periods ) break; } return implode(' ', $duration); } $diff_seconds = strtotime($current_time) - strtotime($lastLoginTime); print(duration($diff_seconds, 6)); ?> 

http://www.hawkee.com/snippet/2056/