เขียนฟังก์ชันเปรียบเทียบเวลาด้วย PHP

ไม่ได้เข้ามาอัพเดทนานแล้วก็เลยหาเรื่องมาลงไว้ซะหน่อย เอาที่เป็นสาระๆ หน่อยก็แล้วกันนานๆ ที ฮ่าๆ เกี่ยวกับการเขียนฟังก์ชันคำนวณระยะเวลาระหว่างวันสองวันก็แล้วกัน เห็นใช้บ่อย เขียนด้วย PHP นะครับ ฟังก์ชันนี้จะรับตัวแปรที่เป็นเวลาในหน่วย วินาที (Unix timestamp)สองตัวด้วยกัน และจะคืนค่าที่คำนวณได้กลับมาในรูปแบบของอาร์เลย์ (array)

function remainTime($fromTime=0, $toTime = 0) {<br />
		$returnTime = array('day'=&gt;0,'hour'=&gt;0,'minute'=&gt;0,'second'=&gt;0);<br />
	    $seconds = floor($toTime - $fromTime);</p>
<p>	    if($seconds &lt; 0){<br />
	    	return $returnTime;<br />
	    }</p>
<p>	    $remainDays = floor($seconds / 86400);<br />
	    $remainHours = floor(($seconds % 86400)/3600);<br />
	    $remainMinutes = floor(($seconds % 3600)/60);<br />
	    $remainSeconds = $seconds % 60;</p>
<p>	    if($remainDays &gt; 0){<br />
	    	$returnTime['day'] = $remainDays;<br />
	    }</p>
<p>	    if($remainHours &gt; 0){<br />
	    	$returnTime['hour'] = $remainHours;<br />
	    }</p>
<p>	    if($remainMinutes &gt; 0){<br />
	    	$returnTime['minute'] = $remainMinutes;<br />
	    }</p>
<p>	    if($remainSeconds &gt; 0){<br />
	    	$returnTime['second'] = $remainSeconds;<br />
	    }</p>
<p>	    return $returnTime;<br />
	}

ค่าที่คืนกลับมาให้จะอยู่ในรูปแบบนี้ครับ
$returnTime = array('day'=>0,'hour'=>0,'minute'=>0,'second'=>0);

ตัวอย่างการนำไปใช้ครับ

$now=time(); //เวลาปัจจุบันครับ<br />
$target=strtotime('2010-07-06 21:20:00'); //เวลาในอนาคตครับ<br />
$remainTime=remainTime($now,$target);<br />
var_dump($remainTime);

หรือเพื่อนๆ อาจจะนำไปประยุกต์เพิ่มเติมก็ได้ครับ เช่น อาจจะรับตัวแปรเป็นวันที่ไปเลยก็ได้ หวังว่าจะมีประโยชน์กับเพื่อนๆ บ้างนะครับ ^^