Как по номеру года определить является ли он високосным?

Zerg

Guest
Как по номеру года определить является ли он весокосным?

сабж.
 

Линка

Новичок
если год делится на 4 без остатка значин он высокосный
иначе не высокосный
 

Фанат

oncle terrible
Команда форума
Линка, это не единственное условие.

Zerg [m]date[/m] для дат в диапазоне от 1970 по 2038
ну, или арифметикой.
 

Profic

just Profic (PHP5 BetaTeam)
$year % 400 = 0 -> високосный
$year % 100 = 0 -> не високосный
$year % 4 = 0 -> високосный
 

antson

Новичок
Партнер клуба
можно использовать особенность поведения mktime()
если результат от 29 февраля равен 1 марта год
невисокосный

if(mktime(0,0,0,3,1,$YEAR)==mktime(0,0,0,2,29,$YEAR)){
echo "невисокосный";
}else{
echo "високосный";
}
 

zerkms

TDD infected
Команда форума
antson
если уж делать через одно место, то
checkdate()
;)
 

jdoe

Новичок
Автор оригинала: Profic
$year % 400 = 0 -> високосный
$year % 100 = 0 -> не високосный
$year % 4 = 0 -> високосный
из чего следует, что единственного последнего условия достаточно для дат от 1901 до 2099 года. Что явно шире, чем при использовании функции date. :)
 

Фанат

oncle terrible
Команда форума
сколько желающих вставить своё веское слово по такой сложной проблеме...
 
Сверху