Високосный год

Високосный год

Извиняйте, что тема не новая. Но точного ответа не нашел.

Нужно определить, сколько дней в феврале любого года.
Нет ли ничего лучшего, чем взять за основу какой-нибудь високосный год и тупо добавлять или отнимать по 4 года?

Никаких специальных функций не предусмотрено?
 
То есть, только так?

любой год минус, к примеру, 2000-й год
if(результат==4)
год високосный
 

HabaHaba

Новичок
А можно так :)
PHP:
<?
for ($i=2000;$i<2010;$i++) {
    if (!checkdate("02","29",$i)) {
 	  print "$i: Високосный год\n";
   } else {
 	  print "$i: Не високосный год\n";
   }
}
?>
checkdate
 

lanka

Новичок
> любой год минус, к примеру, 2000-й год
> if(результат==4)
> год високосный

Почти так, только непонятно, почему минус - любой високосный год нацело делится на 4.
То есть проверяем остаток от деления на 4, и если он равен нулю - год високосный.
Это ж вроде в школе учат?
 

si

Administrator
Год високосный если:
1. делится без остатка на 4, но не делится на 100
2. делится без остатка на 400

Все предыдущие ответы на помойку ;)
 
Так тоже можно, но ........

Я не совсем, наверное, правильно сформулировал вопрос.

Из базы извлекается дата и выводится в комбобоксы по отдельности:
день, месяц, год

Хочу в зависимости от месяца и года заполнить комбобокс цифрами. Если поподает на февраль високосного, надо вывести от 1 до 29 дней.
 

Фанат

oncle terrible
Команда форума
if (date("L",mktime (0,0,0,1,1,$year))) echo 'Год '.$i.' - високосный<br>';

кром, не обидятся, а покрутят пальцем у виска.
такого только пожалеть остается - ни текст прочесть, ни примитивнейший код самомe написать, ни ссылку нажать не может, убогий.
 

Alex2003

Новичок
Мысли:

Из БД берется месяц и год. По ним рисуются "циферьки" в комбобоксе. Что мешает использовать что-то типа этого:
PHP:
<?
$days_count = date('t',$timestamp_from_base);
for($i=1;$i<=$days_count;$i++)
  echo '<OPTION VALUE='.$i.'>'.$i;
?>
и не морочится с годами?
 
Сверху