Пример #1
0
 /**
  * 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;
 }