我想给我的学生一个简单的解决方案 查看2001-3000之间的闰年。
我如何在PHP中编写代码? 我肯定使用'L',但我不是如何编写代码:/
答案 0 :(得分:2)
for($t = new DateTime("1 Jan 2001"); $t->format('Y') <= 3000; $t->modify('+1 year')) {
if ($t->format('L')) {
echo $t->format('Y') ." is a leap year". PHP_EOL;
}
}
答案 1 :(得分:1)
类似的东西:
<?php
for ($i = 2001; $i <= 3000; $i++)
{
echo $i;
if (date('L', strtotime($i . '-01-01')))
{
echo ' Yes<br />';
}
else
{
echo ' No<br />';
}
}
答案 2 :(得分:1)
如果您知道闰年是什么,则无需运行date
。
闰年是每4年一次,但不是每100年一次,而是每400年一次。
for($yr=2000;$yr<=3000;$yr+=4) {
if( ($yr % 100 == 0) && !($yr % 400 == 0)) continue;
echo $yr . "<br />";
}
请注意,我从2000年开始,因为那是闰年。
答案 3 :(得分:1)
$years = range(2001,3000);
function is_leap($year) {
return date_create("$year-01-01")->format('L');
}
$leapYears = array_filter($years, 'is_leap');
答案 4 :(得分:0)
for($i = 2001; $i <= 3000; $i++) {
if(date("L", strtotime("01.01.$i")) == 1) echo "$i ";
}
答案 5 :(得分:0)
来自Wikipedia,这是算法的PHP版本:
function is_leap_year($year){
if( $year % 400 === 0 )
return true;
else if( $year % 100 === 0 )
return false;
else if( $year % 4 === 0 )
return true;
else
return false;
}