Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Скрипт расчета возраста (php)?

Скрипт расчета возраста (php)?


     05.05.2018    Все вопросы » Общие вопросы по PHP    1261

вопрос
Приветствую всех!
Нужна помощь людей знающих php. Есть скрипт расчета возраста с правильным склонением, выглядит он так
<?php
$age = DateTime::createFromFormat('d/m/Y', '29/02/1880')
     ->diff(new DateTime('now'))
     ->y;
function YearTextArg($year) {
    $m = substr($year,-1,1);
    $l = substr($year,-2,2);
    return $year. ' ' .((($m==1)&&($l!=11))?'год':((($m==2)&&($l!=12)||($m==3)&&($l!=13)||($m==4)&&($l!=14))?'года':'лет'));
}
echo YearTextArg($age);
?>

Если, допустим возраст пользователя берется с доп. полей [xfvalue_birthday].[xfvalue_birthmonth].[xfvalue_birthyear], то, как я правильно понял, скрипт нужно подключать таким образом
{include file="/engine/modules/age.php?day=[xfvalue_birthday]&month=[xfvalue_birthmonth]&year=[xfvalue_birthyear]"}

, а в скрипте выводить переменными $day, $month, $year.
Пытался реализовать таким, образом
$age = DateTime::createFromFormat('d/m/Y', '$day/$month/$year')

, выходит ошибка Fatal error: Call to a member function diff() on a non-object...
Подскажите, пожалуйста, как должно быть правильно.

Ответа пока нет


2 комментария

MikeTheRaven
Юзер

MikeTheRaven - 6 мая 2018 11:59 -

Либо двойные кавычки используйте

"$day/$month/$year"

либо конкатенацию строк

$day . '/' . $month . '/' . $year

Mau
Юзер

Mau - 6 мая 2018 13:08 -

Благодарю!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх