. * * @package LibreNMS * @link http://librenms.org * @copyright 2018 Tony Murray * @author Tony Murray */ namespace LibreNMS\Util; class Time { public static function legacyTimeSpecToSecs($description) { $conversion = [ 'now' => 0, 'onehour' => 3600, 'fourhour' => 14400, 'sixhour' => 21600, 'twelvehour' => 43200, 'day' => 86400, 'twoday' => 172800, 'week' => 604800, 'twoweek' => 1209600, 'month' => 2678400, 'twomonth' => 5356800, 'threemonth' => 8035200, 'year' => 31536000, 'twoyear' => 63072000, ]; return isset($conversion[$description]) ? $conversion[$description] : 0; } public static function formatInterval($interval, $format = 'long') { $result = ''; $data = [ 'years' => 31536000, 'days' => 86400, 'hours' => 3600, 'minutes' => 60, 'seconds' => 1, ]; foreach ($data as $k => $v) { if ($interval >= $v) { $diff = floor($interval / $v); $result .= " $diff"; if ($format == 'short') { $result .= substr($k, 0, 1); } if ($format != 'short' && $diff > 1) { $result .= ' ' . $k; } if ($format != 'short' && $diff < 2) { $result .= ' ' . substr($k, 0, -1); } $interval -= $v * $diff; } } return $result; } }