2016-06-08 3 views
-2

Я строю небольшой сайт и застрял на чем-то. Как вы получаете возраст людей, используя дату их рождения?Получите возраст человека, используя дату его рождения

Так что это должно быть что-то вроде:

$age=curr_date - YEAR($birth_date) 

Я надеюсь, что этот вопрос достаточно ясен.

Заранее спасибо

+0

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

+0

Ваша логика неверна. Вы не можете рассчитать возраст человека, сравнивая их год рождения с текущим годом. Вы должны учитывать фактические даты. –

ответ

2

Используйте date и strtotime для получения возраста человека от даты рождения.

$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_date в формате YYYY-MM-DD.

Вы можете сделать это следующим образом. Сначала создайте DateTime объект РОЖДЕНИЯ,

$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' 
Смежные вопросы