Показать сообщение отдельно
  #1 (permalink)  
Старый 08.11.2017, 00:13
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Скрипт, который считает, сколько дней осталось до дня рождения
Хорошо ли получилось?

<?php	
	$now = date('d.m.Y'); //сейчас
	$nowArr = explode('.', $now);
	
	$monthNow = date('t', mktime(0, 0, 0, $nowArr[1], $nowArr[0], $nowArr[2])); //текущий месяц
	
	$birthday = '23.03.1994'; //день рождение 
	$arr = explode('.', $birthday);
	
	$monthBirthday = date('t', mktime(0, 0, 0, $arr[1], $arr[0], $arr[2])); //месяй день рождения
	$rest = $monthBirthday - $arr[0]; //отсёк остальные дни, которые идут после моего дня рождения в этом месяце.
	
	$days = 0;
	
	for($i = $nowArr[1]; $i <= 12; $i++) {
		$days = $days + date('t', mktime(0, 0, 0, $i, $nowArr[0], $nowArr[2])); // количество дней до конца года сначала месяца
		if($i == $arr[1]) break;
		
		if($i == 12) {
			for($j = 1; $j <= $arr[1]; $j++) {
				$days = $days + date('t', mktime(0, 0, 0, $j, $nowArr[0], $nowArr[2])); // количество дней до конца нужного месяца сначала месяца
			}
		}
	}
	
	echo $days - $nowArr[0] - $rest - 1;
Ответить с цитированием