2016-01-19 4 views
0
$today= new DateTime(date('Y-m-d')); 
$dob= new DateTime($user_dob); 
$diff = $today->diff($dob); 
return $diff->y .' Year'; 

Я пытаюсь вычислить возраст, но его ошибка отображения Call to undefined method DateTime::diff() как я могу решить эту проблему? i m using PHP Version 5.4.24Как я могу решить Call to undefined method DateTime :: diff()?

+3

Вы абсолютно уверены, о вашей версии PHP? Что такое вывод 'echo phpversion();'? – morido

+0

жаль, что это было 5.2. Я решил его другим способом. благодаря –

ответ

1

Это работает как на PHP 5.3.4 и PHP 5.2.11

$start = new DateTime('2010-10-12'); 
$end = new DateTime(); 
$days = round(($end->format('U') - $start->format('U'))/(60*60*24)); 
0

внутренние объекты в php5, при сбое, могут возвращать null в __construct. Вы можете проверить:

if (null !== $today) { 
    $diff = $today->diff($dob); 
    return $diff->y .' Year'; 
} 

значение, которое возвращается на date('Y-m-d') также поможет понять, почему метод не удается

Смежные вопросы