Ошибка расчета возраста в laravel 5+?

Контроллер

static function show()
{
    //
    $output = '';
    $result = DB::table('PersonalDetail')
            ->get();
    foreach ($result as $key ) {
        $dob = Carbon::$key->DOB;

        // We need to compare the user's date of birth with today's date.
        $now =Carbon::now();

        // Calculate the time difference between the two dates.
        $difference = $now->diff($dob);

        // Get the difference in years, as we are looking for the user's age.
        $age = $difference->y;

        $output .= '<p>Age:-'.$age.' </p>';
    }

    return ($output);
}

Посмотреть лезвие

Вызов функции-члена diff() для строки (Просмотр: /Applications/XAMPP/xamppfiles/htdocs/WedLaravel/WedLara/resources/views/pages/ViewPeo.blade.php)

Я получил эту ошибку, я стараюсь много

1 ответ

Решение

Чтобы рассчитать разницу в датах с помощью Carbon, необходимо привести обе даты в качестве объектов Carbon, а затем использовать предоставленные методы:

$now = Carbon::now();
$dob = Carbon::createFromFormat('Y-m-d', $key->dob);
$diff = $now->diff($dob);

Затем у вас будет объект DateInterval, который даст вам разные интервалы, так что вы можете использовать $d->y, Так как это углерод, есть и другие методы, которые вы можете использовать, такие как

$now->diffInDays($dob);
$now->diffForHumans($dob);
Другие вопросы по тегам