Jan. 10
27

แจกโค้ด php คำนวณอายุ

ฟังก์ชั่น คำนวณอายุตัวนี้ ผมแปลงมาจากฟังก์ชั่นของ codeigniter เห็นว่าใช้งานได้ดีครับ ผลที่ได้ออกมา จะเป็นจำนวนปี เดือน สัปดาห์ วัน นาที วินาที เรียงไล่ลำดับไป

พารามิเตอร์จะมีสองตัว ตัวแรกให้ส่งวันเกิดเข้าไป ตัวที่สองวันปัจจุบัน โดยพารามิเตอร์ทั้งสองตัว ต้องเป็น timestamp แต่ไม่ต้องกังวลนะครับ ในโค้ดผมได้แสดงตัวอย่างไว้ให้ดูแล้วด้วย ท่านเห็นปุ๊บก็เข้าใจปั๊บ ผมใช้ฟังก์ชั่น strtotime แปลงวันเกิดให้เป็น timestamp

<?php
function timespan($seconds = 1, $time = '')
{
	if ( ! is_numeric($seconds))
	{
		$seconds = 1;
	}
 
	if ( ! is_numeric($time))
	{
		$time = time();
	}
 
	if ($time <= $seconds)
	{
		$seconds = 1;
	}
	else
	{
		$seconds = $time - $seconds;
	}
 
	$str = '';
	$years = floor($seconds / 31536000);
 
	if ($years > 0)
	{	
		$str .= $years.' ปี, ';
	}	
 
	$seconds -= $years * 31536000;
	$months = floor($seconds / 2628000);
 
	if ($years > 0 OR $months > 0)
	{
		if ($months > 0)
		{	
			$str .= $months.' เดือน, ';
		}	
 
		$seconds -= $months * 2628000;
	}
 
	$weeks = floor($seconds / 604800);
 
	if ($years > 0 OR $months > 0 OR $weeks > 0)
	{
		if ($weeks > 0)
		{	
			$str .= $weeks.' สัปดาห์, ';
		}
 
		$seconds -= $weeks * 604800;
	}			
 
	$days = floor($seconds / 86400);
 
	if ($months > 0 OR $weeks > 0 OR $days > 0)
	{
		if ($days > 0)
		{	
			$str .= $days.' วัน, ';
		}
 
		$seconds -= $days * 86400;
	}
 
	$hours = floor($seconds / 3600);
 
	if ($days > 0 OR $hours > 0)
	{
		if ($hours > 0)
		{
			$str .= $hours.' ชั่วโมง, ';
		}
 
		$seconds -= $hours * 3600;
	}
 
	$minutes = floor($seconds / 60);
 
	if ($days > 0 OR $hours > 0 OR $minutes > 0)
	{
		if ($minutes > 0)
		{	
			$str .= $minutes.' นาที, ';
		}
 
		$seconds -= $minutes * 60;
	}
 
	if ($str == '')
	{
		$str .= $seconds.' วินาที';
	}
 
	return substr(trim($str), 0, -1);
}
 
 
// ตัวอย่างการใช้งาน
$birthdate = strtotime( '1973-11-13' );
$today = time();
 
echo timespan( $birthdate , $today );
//36 ปี, 2 เดือน, 3 สัปดาห์, 2 วัน, 4 ชั่วโมง, 51 นาที
?>

เห็นมั้ยครับการใช้ PHP คำนวณอายุนั้นไม่ยากเลย

บทความน่าสนใจ

  1. ความเข้าใจเรื่องฟิลด์ชนิด timestamp ของ mysql
  2. แล่ว แล่ว แล่ว แล่ว แล่ว แล้ว…….
  3. PHP date() ฟังก์ชั่นจัดการวัน-เวลา
  4. แนะนำเว็บให้ความรู้การเขียนโปรแกรมโคตะระเด็ด
  5. PHP วิธีหาวันหยุดภายในเดือน
This entry was posted in PHP and tagged . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย

2 Comments

  1. mrsitti MSIE 8.0 Windows Vista
    Posted 27/01/2010 at 18:58 | Permalink

    ขอบคุณครับ

  2. loso MSIE 8.0 Windows 7
    Posted 14/10/2010 at 10:42 | Permalink

    เยี่ยมครับท่าน

Post a Comment

You must be logged in to post a comment.