note 75048 deleted from function.date by felipe
| From: | felipe@php.net | Date: | Sat, 05 Jan 2008 01:57:19 +0000 |
| Subject: | note 75048 deleted from function.date by felipe | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-134801@lists.php.net to get a copy of this message | ||
Note Submitter: Josue Resende
----
...
class CalendarFunction {
function holidays($year) {
$return = array();
$return[ 1] = array(1);
$return[12] = array(25);
// feriados moveis
return $return;
}
function qtDaysPerMonth($year, $month) {
return intval(date('t', mktime(0, 0, 0, intval($month), 1, intval($year))));
}
function daysPerMonth($year) {
$return = array();
$weekday = date('w', mktime(0, 0, 0, 1, 1, intval($year)));
$holidays = CalendarFunction::holidays($year);
for ($month = 0; $month < 12; $month++) {
$qt = CalendarFunction::qtDaysPerMonth($year, $month+1);
$holidays_month = (isset($holidays[$month+1]) ? $holidays[$month+1] : array());
for($day = 1; $day <= $qt; $day++) {
if (($weekday > 0 and $weekday < 6) and !in_array($day, $holidays_month)) {
$return[$month+1][] = $day;
}
$weekday = ($weekday == 6 ? 0 : $weekday + 1);
}
}
return $return;
}
}
...