fastix®: Datum eines bestimmten ersten Wochentages im Monat (universell)

Beitrag lesen

Moin!

Wie könnte das noch lösen?

Einfach, schnell, schmutzig und primitiv:

<?php  
#Test:  
print getFirstWeekDayInMountAsGermanDate(11,2011,2)."\n";  
  
  
function getFirstWeekDayInMountAsGermanDate($Monat, $Jahr, $WeekDay) {  
  
      #$Monat='1...12(Januar...Dezember)  
      #  
      #$WeekDay=0 oder 7 für Sonntag;  
      #$WeekDay=1        für Montag  
      # ...  
      #$WeekDay=6        für Sonnabend;  
  
      $intWoTag=date('w', mktime (0,0,0, $Monat,1,$Jahr)); # 0 ... 6  
  
      if ( $WeekDay == $intWoTag ) {  
	  return '01.' . ZweiStellig($Monat) . '.' . $Jahr;  
      } else {  
	  if ($intWoTag < $WeekDay) {  
	      return ZweiStellig($WeekDay-$intWoTag+1) . '.' . ZweiStellig($Monat) . '.' . $Jahr;  
	  } else {  
	      return ZweiStellig($WeekDay-$intWoTag+8) . '.' . ZweiStellig($Monat) . '.' . $Jahr;  
	  }  
      }  
      return false;  
}  
  
function ZweiStellig($int) {  
    $int=intval($int);  
    if ($int  < 10) {  
	return '0'.$int;  
    } else {  
	return $int;  
    }  
}  
  
  
?>

Entschuldige die Mischung deutsch/englisch - aber die Lösung ist "Einfach, schnell, schmutzig und primitiv" - und universeller als Deine Frage

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix