|
|
|
โค้ดคำนวนอายุวันเกิดผิด คำนวนจาก 1941-06-10 หากคำนวนอายุเกิด 64 ปี วันจะคำนวนผิด |
|
|
|
|
|
|
|
$birthday = "1941-06-10"; //รูปแบบการเก็บค่าข้อมูลวันเกิด
$today = date("Y-m-d"); //จุดต้องเปลี่ยน
list($byear, $bmonth, $bday)= explode("-",$birthday); //จุดต้องเปลี่ยน
list($tyear, $tmonth, $tday)= explode("-",$today); //จุดต้องเปลี่ยน
$mbirthday = mktime(0, 0, 0, $bmonth, $bday, $byear);
$mnow = mktime(0, 0, 0, $tmonth, $tday, $tyear );
$mage = ($mnow - $mbirthday);
echo "วันเกิด $birthday"."<br>\n";
echo "วันที่ปัจจุบัน $today"."<br>\n";
echo "รับค่า $mage"."<br>\n";
$u_y=date("Y", $mage)-1970;
$u_m=date("m",$mage)-1;
$u_d=date("d",$mage)-1;
echo"<br><br>$u_y ปี $u_m เดือน $u_d วัน<br><br>";
-------------------------------------
ผลที่ได้
-66 ปี 1 เดือน 9 วัน
ลองคำนวนจริงดูนะครับ ว่ามันผิด
// ข้อสังเกตุ โค้ดตัวนี้จะสามารถคำนวนอายุได้ไม่เกิด 64 ปี ประมาณนี้ ถ้าเกิดกว่านี้มันจะคำนวนผิด แต่ถ้าตำกว่า 63 จะคำนวนถูก
โค้ดนี้ได้นำมาจาก https://www.thaicreate.com/php/forum/058080.html
Tag : PHP
|
|
|
|
|
|
Date :
2011-08-26 21:55:50 |
By :
item170 |
View :
1215 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เห็นอีกบทความน่าสนใจครับ
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 นาที
Credit : http://www.select2web.com/php/php-age-calculation.html
|
|
|
|
|
Date :
2011-08-27 08:22:15 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|