Стал вопрос, как высчитать на php, количество дней до дня рождения, если дата рождения имеется только в формате даты.
Условие простое, решение тоже:
<?
$dr="01.01.2000"; //дата рождения пользователя
$ddd= explode(".", $dr); //разбиваем дату на день, месяц, год
$god=date('Y')+1; //следующий год
$god1=date('Y'); //текущий год
if (date('m')>$ddd[1]){$sldata="$god.$ddd[1].$ddd[0]";} //если текущий месяц больше месяца рождения, значит год дня рождения следующий
if (date('m')<$ddd[1]){$sldata="$god1.$ddd[1].$ddd[0]";} //если текущий месяц меньше, значит...
if (date('m')==$ddd[1]){ //если текущий месяц совпадает
if(date('d')>=$ddd[0]){$sldata="$god.$ddd[1].$ddd[0]";} //Если текущий день больше или равен месяцу рождения, значит год дня рождения следующий
else {$sldata="$god1.$ddd[1].$ddd[0]";} //если меньше, значит в этом году день рожденье
}
$tekvr=time(); //текущее время
$dat = "$sldata";
$dateu = explode('.',$dat);
$da=mktime(00, 00, 00, $dateu[1],$dateu[2], $dateu[0]);//это UNIX д.р.
$ddddee=$da-$tekvr; //время до дня рождения в секундах
$ddddee11=$ddddee/24/60/60; //количество дней
$skolkodney=explode('.',$ddddee11); //целое количество дней
$kk=$skolkodney[0]+1; //время до дня рождения в днях(+1 день, так как сегодня мы срезали выше)
$dataro1=date("d.m.Y",strtotime("+$kk day"));
echo "До дня рождения $kk дней | Дата следующего рождения $dataro1";
?>
h++p://blog.rstudia.ru/kolichestvo-dnej-do/
Оставьте первый комментарий