From c384224e0a0dbea61745595a2cb63664b6d2fd84 Mon Sep 17 00:00:00 2001 From: ShevAbam Date: Thu, 16 Jul 2015 15:24:17 +0200 Subject: Uptime : more readable --- libs/Utils/Misc.php | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'libs/Utils/Misc.php') diff --git a/libs/Utils/Misc.php b/libs/Utils/Misc.php index a86312b..37e578b 100644 --- a/libs/Utils/Misc.php +++ b/libs/Utils/Misc.php @@ -69,6 +69,47 @@ class Misc } + /** + * Seconds to human readable text + * Eg: for 36545627 seconds => 1 year, 57 days, 23 hours and 33 minutes + * + * @return string Text + */ + public static function getHumanTime($seconds) + { + $units = array( + 'year' => 365*86400, + 'day' => 86400, + 'hour' => 3600, + 'minute' => 60, + // 'second' => 1, + ); + + $parts = array(); + + foreach ($units as $name => $divisor) + { + $div = floor($seconds / $divisor); + + if ($div == 0) + continue; + else + if ($div == 1) + $parts[] = $div.' '.$name; + else + $parts[] = $div.' '.$name.'s'; + $seconds %= $divisor; + } + + $last = array_pop($parts); + + if (empty($parts)) + return $last; + else + return join(', ', $parts).' and '.$last; + } + + /** * Returns a command that exists in the system among $cmds * -- cgit v1.2.3