2016-06-08 77 views
-2

我正在建造一个小网站,并被困在某物上。 如何使用他们的出生日期得到一个人的年龄?获取一个人的年龄,使用他们的出生日期

所以这应该是这样的:

$age=curr_date - YEAR($birth_date) 

我希望这个问题是非常明显的。

在此先感谢

+0

http://stackoverflow.com/questions/3776682/php-calculate-age –

+0

你的逻辑是不正确。你不能通过比较他们的出生年份和当年来计算某个人的年龄。您必须考虑实际日期。 –

回答

2

使用datestrtotime用于获取一个人的年龄从出生日期。

$birth_date = '1991-12-10'; 
echo $age= date("Y") - date("Y", strtotime($birth_date)); //25 
0

首先转换您的日期的strtotime这样

$userDob = '18/01/2000'; //Try to convert your date format like this 
$userDob = strtotime($userDob); 
$currDate = time(); 
$dateDiff = $currDate - $userDob; 
echo Date('y',$dateDiff); 
0

假设$birth_dateYYYY-MM-DD格式。

您可以通过以下方式来完成。首先创建日期时间出生日期的对象,

$date=date("Y-m-d",strtotime($birth_date)); 
$bDObj=new DateTime($date); 
$cDate=new DateTime(); 

$age=$cDate->format("Y")-$bDObj->format("Y"); 
0

您可以使用此:

<?php 
$from = new DateTime('1993-09-19'); 
$to = new DateTime('today'); 
echo $from->diff($to)->y; 
?> 
0

下面是该代码:

$dob = new DateTime('2015-10-02'); 
$today = new DateTime; 
$age = $today->diff($dob); 

你可以呼应了时代像这个:

echo $age->format('%y Years, %m Months and %d Days'); 
0

使用DateInterval Class

<?php 
$date1=date_create("2013-01-01"); 
$date2=date_create("2013-02-10"); 
$diff=date_diff($date1,$date2); 

echo $diff->format("Total number of years: %y."); 
?> 
0
<?php 

     // ASSUMING YOU HAVE THE DATE IN MYSQL FORMAT: Y-m-d 
     $birthDate = "1980-10-05"; 
     $today  = date("Y-m-d"); 

     $dateA  = new DateTime($today); 
     $dateB  = new DateTime($birthDate); 

     $dateDiff = $dateA->diff($dateB); 
     $age  = "{$dateDiff->y} Years, {$dateDiff->m} Months and {$dateDiff->d} Days"; 

     var_dump($age);  //<== DUMPS: '35 Years, 8 Months and 3 Days' 
相关问题