/** * This function calculates the first [WEEKDAY] of a month. * The day to find is passed as an integer to the function. * * To use: Pass the month, year and day (as an integer 0-6) to the function. * * @param int $month * @param int $year * @param int $day [0 = sunday, 1 = monday, 2 = tuesday, 3 = wednesday, 4 = thursday, 5 = friday, 6 = saturday] * @return date */ function getFirstDay($month,$year,$day){ $num = date("w",mktime(0,0,0,$month,1,$year)); if($num==$day) { return date("Y-m-d H:i:s",mktime(0,0,0,$month,1,$year)); } elseif($num>$day) { return date("Y-m-d H:i:s",mktime(0,0,0,$month,1,$year)+(86400*((7+$day)-$num))); } else { return date("Y-m-d H:i:s",mktime(0,0,0,$month,1,$year)+(86400*($day-$num))); } } // Example of use: $sunday = getFirstDay('1','2009',0); // Sunday $monday = getFirstDay('1','2009',1); // Monday $tuesday = getFirstDay('1','2009',2); // Tuesday $wednesday = getFirstDay('1','2009',3); // Wednesday $thursday = getFirstDay('1','2009',4); // Thursday $friday = getFirstDay('1','2009',5); // Friday $saturday = getFirstDay('1','2009',6); // Saturday echo "First Sunday: " . $sunday . "
"; echo "First Monday: " . $monday . "
"; echo "First Tuesday: " . $tuesday . "
"; echo "First Wednesday: " . $wednesday . "
"; echo "First Thursday: " . $thursday . "
"; echo "First Friday: " . $friday . "
"; echo "First Saturday: " . $saturday . "

";