Немного лениво выглядит профиль пользователя на сайте, когда вместо надписи о количестве лет выводится дата его рождения. Снипед, для Битрикса, жаль что нету API функции.
if(strlen($ar_UserCabinet['PERSONAL_BIRTHDAY']) > 0)
{
$ar_UserDateTo = explode('.', $ar_UserCabinet['PERSONAL_BIRTHDAY']);
$s_MetaDateTo = mktime(0, 0, 0, $ar_UserDateTo[1], $ar_UserDateTo[0], $ar_UserDateTo[2]);
$s_MetaDateFrom = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$i_Meta = ($s_MetaDateFrom - $s_MetaDateTo) / 31276800;
# проверим был ли у пользователя день рождения, если еще небыло то -1
$s_DateRog = mktime(0, 0, 0, $ar_UserDateTo[1], $ar_UserDateTo[0], date('Y'));
if($s_DateRog > $s_MetaDateFrom)
$i_Meta -= 1;
$arResult['USER_BIRTHDAY'] = intval($i_Meta);
}
Ваш способ будет нерабочим в дни, близким к дню рождения, т.к.:
1. У вас идет расчёт исходя из 362-х дней в году
2. Не учитываются високосные даты.
Да, точно, надо поправить, спасибо :)