Recurr\Rule::setByDay PHP Метод

setByDay() публичный Метод

MO indicates Monday; TU indicates Tuesday; WE indicates Wednesday; TH indicates Thursday; FR indicates Friday; SA indicates Saturday; SU indicates Sunday. Each BYDAY value can also be preceded by a positive (+n) or negative (-n) integer. If present, this indicates the nth occurrence of the specific day within the MONTHLY or YEARLY RRULE. For example, within a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday within the month, whereas -1MO represents the last Monday of the month. If an integer modifier is not present, it means all days of this type within the specified frequency. For example, within a MONTHLY rule, MO represents all Mondays within the month. ------------------------------------------- DO NOT MIX DAYS AND DAYS WITH MODIFIERS. This is not supported. -------------------------------------------
public setByDay ( array $byDay )
$byDay array Array of days of the week
    public function setByDay(array $byDay)
    {
        if ($this->getFreq() > static::$freqs['MONTHLY'] && preg_match('/\\d/', implode(',', $byDay))) {
            throw new InvalidRRule('BYDAY only supports MONTHLY and YEARLY frequencies');
        }
        $this->byDay = $byDay;
        return $this;
    }

Usage Example

Пример #1
0
 public function testGetString()
 {
     $this->rule->setFreq('YEARLY');
     $this->rule->setCount(2);
     $this->rule->setInterval(2);
     $this->rule->setBySecond(array(30));
     $this->rule->setByMinute(array(10));
     $this->rule->setByHour(array(5, 15));
     $this->rule->setByDay(array('SU', 'WE'));
     $this->rule->setByMonthDay(array(16, 22));
     $this->rule->setByYearDay(array(201, 203));
     $this->rule->setByWeekNumber(array(29, 32));
     $this->rule->setByMonth(array(7, 8));
     $this->rule->setBySetPosition(array(1, 3));
     $this->rule->setWeekStart('TU');
     $this->rule->setExDates(array('20140607', '20140620T010000Z', '20140620T010000'));
     $this->assertEquals('FREQ=YEARLY;COUNT=2;INTERVAL=2;BYSECOND=30;BYMINUTE=10;BYHOUR=5,15;BYDAY=SU,WE;BYMONTHDAY=16,22;BYYEARDAY=201,203;BYWEEKNO=29,32;BYMONTH=7,8;BYSETPOS=1,3;WKST=TU;EXDATE=20140607,20140620T010000Z,20140620T010000', $this->rule->getString());
 }
All Usage Examples Of Recurr\Rule::setByDay