Funktion: gregorday() scheitert bei PHP 5.3 von 1&1 an: gregoriantojd() |
<?PHP
//
gregorday()
------------------------------------------------------------------
mit gregoriantojd //
//
TagNr nach dem Gregorianischen Kalender, der am 15.10.1582
beginnt
function
gregorday1 ($tag, $mon, $jahr){
$gregtag=
gregoriantojd($mon, $tag, $jahr)-gregoriantojd(10, 15, 1582);
return
$gregtag+1;
}
// gregorday() ------------------------------------------------------------------ alternativ // // (nur für gregorday2()) $monattage = array(0,31,28,31,30,31,30,31,31,30,31,30,31); // (nur für gregorday2()) .. Berechnet ob das Jahr ein Schaltjahr ist function schaltjahr($jahr){ if(($jahr % 400) == 0 || (($jahr % 4) == 0 && ($jahr % 100) != 0)) return 1; else return 0; } // TagNr nach dem Gregorianischen Kalender, der am 15.10.1582 beginnt function gregorday2 ($tag, $mon, $jahr){ global $monattage; $gregtag=0; for($n=1582; $n<$jahr; $n++) $gregtag= $gregtag+365+schaltjahr($n); for($n=1; $n<$mon; $n++){$gregtag= $gregtag+$monattage[$n];} if($mon>2) $gregtag = $gregtag+schaltjahr($jahr); $gregtag=$gregtag+$tag-287; return $gregtag; } // ---------------------------------------- Test --------------------------- // $tag=15; $mon=10; $jahr=1582; echo $jahr.' -> '.schaltjahr($jahr).'<BR>'; echo gregorday1($tag,$mon,$jahr).'<BR>'; echo gregorday2 ($tag,$mon,$jahr).'<BR>'; ?> |