/** * Jalali::dayOfWeek() * * returns weekday of the specified day of the year * * @param int $yearValue * @param boolean $calendarType * @access protected * @return mixed */ protected static function dayOfWeek($yearValue, $dayOfYear = 0) { if (!Jalali::filterErrors($yearValue, 'y')) { return; } $Rasad = Jalali::calcRasad($yearValue); $count2820 = floor($Rasad / 2820); $mod2820 = $Rasad % 2820; $count128 = floor($mod2820 / 128); $mod128 = $mod2820 % 128; $leapCount = 0; while ($mod128 > Jalali::$Khayamii[$leapCount]) { $leapCount++; } $yearStartDay = ($count2820 + 1) * 3 + $count128 * 5 + $mod128 + $leapCount; if ($dayOfYear > 0) { $dayOfYear--; } return ($yearStartDay + $dayOfYear) % 7; }