public function buildMonthCalendar($year, $month) { $calendar = array( 'week-1' => array('Mon' => null, 'Tue' => null, 'Wed' => null, 'Thu' => null, 'Fri' => null, 'Sat' => null, 'Sun' => null), 'week-2' => array('Mon' => null, 'Tue' => null, 'Wed' => null, 'Thu' => null, 'Fri' => null, 'Sat' => null, 'Sun' => null), 'week-3' => array('Mon' => null, 'Tue' => null, 'Wed' => null, 'Thu' => null, 'Fri' => null, 'Sat' => null, 'Sun' => null), 'week-4' => array('Mon' => null, 'Tue' => null, 'Wed' => null, 'Thu' => null, 'Fri' => null, 'Sat' => null, 'Sun' => null), 'week-5' => array('Mon' => null, 'Tue' => null, 'Wed' => null, 'Thu' => null, 'Fri' => null, 'Sat' => null, 'Sun' => null), 'week-6' => array('Mon' => null, 'Tue' => null, 'Wed' => null, 'Thu' => null, 'Fri' => null, 'Sat' => null, 'Sun' => null), ); $startOfMonth = "{$year}-{$month}-01"; $result = strtotime("{$year}-{$month}-01"); $endOfMonth = date('Y-m-d', strtotime( date('Y-m-d', strtotime( $result . '+1 month')).' -1 second')); $j = 1; for ($i = $startOfMonth; $i != $endOfMonth;) { $weekDay = date('D', strtotime($i)); $calendar["week-{$j}"][$weekDay] = date('d', strtotime($i)); if ($weekDay == 'Sun') { $j++; //jump to next week } $i = date('Y-m-d', strtotime($i . ' +1 day')); } $weekDay = date('D', strtotime($endOfMonth)); //last day of the month $calendar["week-{$j}"][$weekDay] = date('d', strtotime($endOfMonth)); return $calendar; }
Search This Blog
Tuesday, March 6, 2012
PHP function to return an array representation of calender month
If you need an array representation of a calender month this function will come in handy. This function
will return an array of a given month with days properly distributed in to weeks, as in real calendar.
Labels:
php
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment