Funktion: tagimjahr()
scheitert bei PHP 5.3 von1&1 an: gregoriantojd()
 
<?PHP

// tagimjahr() ------------------------------------------------------------------ mit gregoriantojd //
// Rückgabe: Anzahl der Tage im Jahr bis zum angegebenen Datum (1.Januar= 1)
function tagimjahr1 ($tag, $mon, $jahr){
   return gregoriantojd($mon, $tag, $jahr)-gregoriantojd(1, 1, $jahr)+1;
}


// tagimjahr() ------------------------------------------------------------------ alternativ //
// (nur für tagimjahr2())
$monattage = array(0,31,28,31,30,31,30,31,31,30,31,30,31);

// (nur für tagimjahr2()) .. 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;
}

// Rückgabe: Anzahl der Tage im Jahr bis zum angegebenen Datum (1.Januar= 1)
function tagimjahr2($tag, $mon, $jahr){
   global $monattage;
   for($i=1; $i<$mon; $i++){$tagimjahr=$tagimjahr+$monattage[$i];}
   $tagimjahr=$tagimjahr+$tag;
   if($mon>2) $tagimjahr=$tagimjahr+schaltjahr($jahr);
   return $tagimjahr;
}


// ---------------------------------------- Test --------------------------- //

$tag=31; $mon=12; $jahr=2004;
echo $jahr.' -> '.schaltjahr($jahr).'<BR>';
echo tagimjahr1($tag,$mon,$jahr).'<BR>';
echo tagimjahr2 ($tag,$mon,$jahr).'<BR>';
?>