Enter your search

Handy PHP function: Time breakdown

By

Develop with Geoff at GoSquared

Due to the nature of the web apps we build, we’re constantly working with time-related logic, and have built up a small collection of functions to help ease the pain with these calculations. This particular function is useful for breaking down a unit of time, represented in seconds, into its constituent days:hours:minutes:seconds, the former two of which are omitted if not applicable.

/**
 * Converts seconds into days:hours:minutes:seconds components
 *
 * @param int $time - number of seconds
 * @return string
 */

function time_quanta($time){
	$d = intval(($time / 86400));
	$h = intval(($time / 3600) % 24);
	$m = intval(($time / 60) % 60);
	$s = intval($time % 60);
	
	if(!max($d,$h,$m,$s)) return false;
	$st = '';
	if($d>0) $st .= ($d < 10?'0'.$d:$d).':';
	if($h>0) $st .= ($h < 10?'0'.$h:$h).':';
	$st .= ($m < 10?'0'.$m:$m).':';
	$st .= ($s < 10?'0'.$s:$s);
	
	return $st;
}

The function can be particularly handy when you'd like to present debugging timers, which are usually counted in seconds or milliseconds (using time() or microtime() etc), in a more humanly readable format, especially if the times involved are long.

You May Also Like

Group 5 Created with Sketch. Group 11 Created with Sketch. CLOSE ICON Created with Sketch. icon-microphone Group 9 Created with Sketch. CLOSE ICON Created with Sketch. SEARCH ICON Created with Sketch. Group 4 Created with Sketch. Path Created with Sketch. Group 5 Created with Sketch.

undefined

Chat with GoSquared

Typically replies within the hour

undefined

Chat with GoSquared

Typically replies within the hour

Need help? Want to know how you can make the most of GoSquared? Let's chat!

undefined

Drop files here to upload