Noted from
// 閏年なら1を返す
function uruu($year){
$rc = 0;
if($year % 4 == 0){$rc=1;}
if($year % 100 == 0){$rc=0;}
if($year % 400 == 0){$rc=1;}
return $rc;
}
// 各月の日数を返す
function mdays($mon){
switch ($mon) {
case 1: $rc=31; break;
case 2: $rc=28; break;
case 3: $rc=31; break;
case 4: $rc=30; break;
case 5: $rc=31; break;
case 6: $rc=30; break;
case 7: $rc=31; break;
case 8: $rc=31; break;
case 9: $rc=30; break;
case 10: $rc=31; break;
case 11: $rc=30; break;
case 12: $rc=31; break;
default: echo "error!\n"; exit;
}
return $rc;
}
// 1900年から誕生年までの日数を積算 (由1900年開始的日子數)
for($y=1900; $y<$byear; $y++){
$b = $b + 365 + uruu($y);
}
// 1月1日から誕生月の前月までの日数を積算(由1月1日開始的日子數)
for($m=1; $m<$bmonth; $m++){
$b = $b + mdays($m);
// 2月なら閏年を調整
if ($m == 2) {
$b = $b + uruu($y);
}
}