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

Beitrag lesen

Moin!

Korrektur des Kommentars:

<?php
#Test:
print firstWeekDayInMountAsGermanDate(1,2012,0)."\n";

function firstWeekDayInMountAsGermanDate($Monat, $Jahr, $WeekDay) {

#$Monat='1...12(Januar...Dezember)
      #
      #$WeekDay=0 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;
    }
}

?>

Den Sonntag also NICHT auf 7 setzen.
Grund: Die Funktion gibt sonst den 8.1.2012 als ersten Sonntag im Januar 2012 aus.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix