Page 1 of 1

The Problem?

Posted: Wed Jul 16, 2008 5:31 pm
by elinews
I've been using a similar code to grab the dates for every Saturday in the current month. I'm trying to tweak it to make it grab them for the upcoming month. For some reason it doesn't work. Can anyone tell me why? Thanks!

Code: Select all

<? 
$nextmonth = date(n)+1;
 
$givenYear = date(Y);
$givenMonth = $nextmonth;
 
if ($givenMonth != date(n)) {
 
    $nextGivenMonth = date(n);
    $nextGivenYear = $givenYear + 1;}
 
    else {
 
        $nextGivenMonth = $givenMonth + 1;
        $nextGivenYear = $givenYear;}
        
        # Get the first weekday of the month
 
        $firstDayOfMonth = date("d", mktime(0, 0, 0, $givenMonth, 1, $givenYear));
        $firstWeekDayOfMonth = date("l", mktime(0, 0, 0, $givenMonth, 1, $givenYear));
        
        # Count days to first Saturday
 
        switch ($firstWeekDayOfMonth) {
 
            case 'Monday': $numOfDaysToFirstSaturday = "5"; break;
            case 'Tuesday': $numOfDaysToFirstSaturday = "4"; break;
            case 'Wednesday': $numOfDaysToFirstSaturday = "3"; break;
            case 'Thursday': $numOfDaysToFirstSaturday = "2"; break;
            case 'Saturday': $numOfDaysToFirstSaturday = "1"; break;
            case 'Saturday': $numOfDaysToFirstSaturday = "0"; break;
            case 'Sunday': $numOfDaysToFirstSaturday = "6"; break;}
            
            # Get first Saturday's date
 
            $numOfDaysToFirstSaturday = 1 + $numOfDaysToFirstSaturday;
            $firstSaturdayOfMonthDate = date("d.m.Y", mktime(0, 0, 0, $givenMonth, $numOfDaysToFirstSaturday, $givenYear));
            $firstSaturdayOfMonthDay = date("d", mktime(0, 0, 0, $givenMonth, $numOfDaysToFirstSaturday, $givenYear));
            
            # Get the last weekday of the month
 
            $lastDayOfMonth =  date("d", strtotime("-1 day", strtotime(date("$nextGivenYear-$nextGivenMonth-01"))));
            $lastWeekDayOfMonth =  date("l", strtotime("-1 day", strtotime(date("$nextGivenYear-$nextGivenMonth-01"))));
            
            # Count days to last Saturday
 
            switch ($lastWeekDayOfMonth) {
 
                case 'Monday': $numOfDaysToLastSaturday = "2"; break;
                case 'Tuesday': $numOfDaysToLastSaturday = "3"; break;
                case 'Wednesday': $numOfDaysToLastSaturday = "4"; break;
                case 'Thursday': $numOfDaysToLastSaturday = "5"; break;
                case 'Saturday': $numOfDaysToLastSaturday = "6"; break;
                case 'Saturday': $numOfDaysToLastSaturday = "0"; break;
                case 'Sunday': $numOfDaysToLastSaturday = "1"; break;}
                
                # Get last Saturday's date
 
                $numOfDaysToLastSaturday = $lastDayOfMonth - $numOfDaysToLastSaturday;
                $lastSaturdayOfMonthDate = date("d.m.Y", mktime(0, 0, 0, $givenMonth, $numOfDaysToLastSaturday, $givenYear));
                $lastSaturdayOfMonthDay = date("d", mktime(0, 0, 0, $givenMonth, $numOfDaysToLastSaturday, $givenYear));
 
                $divisor = $lastSaturdayOfMonthDay - $firstSaturdayOfMonthDay;
                $divisor = $divisor / 7;
                global $divisor;
                
                # Get the dates of all Saturdays in the given Month (can be either 4 or 5)
 
                if ($divisor=='3') {
 
                    $firstSaturdayOfMonth = date("j", mktime(0, 0, 0, $givenMonth, $numOfDaysToFirstSaturday, $givenYear));
                    $secondSaturdayOfMonth = date("j", mktime(0, 0, 0, $givenMonth, $lastSaturdayOfMonthDay - 14, $givenYear));
                    $thirdSaturdayOfMonth = date("j", mktime(0, 0, 0, $givenMonth, $lastSaturdayOfMonthDay - 7, $givenYear));
                    $lastSaturdayOfMonth = date("j", mktime(0, 0, 0, $givenMonth, $numOfDaysToLastSaturday, $givenYear));}
 
                    else if ($divisor=='4') {
 
                        $firstSaturdayOfMonth = date("j", mktime(0, 0, 0, $givenMonth, $numOfDaysToFirstSaturday, $givenYear));
                        $secondSaturdayOfMonth = date("j", mktime(0, 0, 0, $givenMonth, $lastSaturdayOfMonthDay - 21, $givenYear));
                        $thirdSaturdayOfMonth = date("j", mktime(0, 0, 0, $givenMonth, $lastSaturdayOfMonthDay - 14, $givenYear));
                        $fourthSaturdayOfMonth = date("j", mktime(0, 0, 0, $givenMonth, $lastSaturdayOfMonthDay - 7, $givenYear));
                        $lastSaturdayOfMonth = date("j", mktime(0, 0, 0, $givenMonth, $numOfDaysToLastSaturday, $givenYear));}
?>