หน้าหลัก โค้ด-บทความ php โค้ด-บทความ javascript โค้ด-บทความ css สารบัญ สารบัญ

ทักทายครับ

สวัสดีครับ หลังจากที่ blog นี้หยุดการอัพเดททบความเกี่ยวกับโค้ดในการใช้ทำเวปไปนานไม่ว่าจะเป็น code php, html, javascript, css, ajax เนื่องจากผมไม่ค่อยมีเวลาจนลืม blog นี้ไปเลย นึกขึ้นได้ตอนปีใหม่ ไปค้นหาใน google แล้วตกใจ เนื่องจาก blog นี้ไปอยู่ลำดับที่ 1 ของการค้นหา ไม่เชื่อลองดู เลยขอถือโอกาสเริ่มต้นใหม่ในช่วงปีใหม่นี้เริ่มอัพเดทบทความตั้งแต่ตอนนี้เป็นต้นไป หวังเป็นอย่างยิ่งว่าจะมีผู้ติดตามบทความของผมต่อไปน่ะครับ ปล.ท่านใดสนใจลงโฆษณาสามารถติดต่อได้ที่ hotcodephp@gmail.com

23 พ.ค. 2555

คำนวณอายุจากวันเดือนปีเกิดจากโค้ด php

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

<?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 คำนวณอายุนั้นไม่ยากเลย

ไม่มีความคิดเห็น: