Esempio n. 1
0
 /**
  * Get an array of DOY (Day of Year) for each day in a particular week.
  *
  * @param \DateTime           $dt
  * @param \DateTime           $start
  * @param null|RecurrenceRule $rule
  * @param null|DateInfo       $dtInfo
  *
  * @return DaySet
  */
 public static function getDaySetOfWeek(\DateTime $dt, \DateTime $start, RecurrenceRule $rule = null, DateInfo $dtInfo = null)
 {
     $start = clone $dt;
     $start->setDate($start->format('Y'), 1, 1);
     $diff = $dt->diff($start);
     $start = $diff->days;
     $set = array();
     for ($i = $start, $k = 0; $k < 7; $k++) {
         $set[] = $i;
         ++$i;
         if (null !== $dtInfo && null !== $rule && $dtInfo->wDayMask[$i] == $rule->getWeekStartAsNum()) {
             break;
         }
     }
     $obj = new DaySet($set, $start, $i);
     return $obj;
 }