<?php

class Timer
{
	var $startTime;
	var $stopTime;

	function start()
	{
		$this->startTime = microtime();
	} //start

	function stop()
	{
		$this->stopTime = microtime();
	} //stop

	function getTime()
	{
		return $this->elapsed($this->startTime, $this->stopTime);
	} //getTime

	function elapsed($a, $b)
	{
		list($a_micro, $a_int) = explode(' ', $a);
		list($b_micro, $b_int) = explode(' ', $b);

		if ($a_int > $b_int)
		{
			return ($a_int - $b_int) + ($a_micro - $b_micro);
		}
		else if ($a_int == $b_int)
		{
			if ($a_micro > $b_micro)
			{
				return ($a_int - $b_int) + ($a_micro - $b_micro);
			}
			else if ($a_micro < $b_micro)
			{
				return ($b_int - $a_int) + ($b_micro - $a_micro);
			}
			else
			{
				return 0;
			}
		}
		else
		{ // $a_int < $b_int
			return ($b_int - $a_int) + ($b_micro - $a_micro);
		}
	} //elapsed
} //Timer

