Horde_Date_Repeater_DayName::next PHP Метод

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

public next ( $pointer = 'future' )
    public function next($pointer = 'future')
    {
        parent::next($pointer);
        $direction = $pointer == 'future' ? 1 : -1;
        if (!$this->currentDayStart) {
            $this->currentDayStart = new Horde_Date(array('year' => $this->now->year, 'month' => $this->now->month, 'day' => $this->now->day + $direction));
            $dayNum = $this->_dayNumber($this->type);
            while ($this->currentDayStart->dayOfWeek() != $dayNum) {
                $this->currentDayStart->day += $direction;
            }
        } else {
            $this->currentDayStart->day += $direction * 7;
        }
        $end = clone $this->currentDayStart;
        $end->day++;
        return new Horde_Date_Span($this->currentDayStart, $end);
    }

Usage Example

Пример #1
0
 public function testNextPast()
 {
     $mondays = new Horde_Date_Repeater_DayName('monday');
     $mondays->now = $this->now;
     $span = $mondays->next('past');
     $this->assertEquals('2006-08-14', $span->begin->format('Y-m-d'));
     $this->assertEquals('2006-08-15', $span->end->format('Y-m-d'));
     $span = $mondays->next('past');
     $this->assertEquals('2006-08-07', $span->begin->format('Y-m-d'));
     $this->assertEquals('2006-08-08', $span->end->format('Y-m-d'));
 }
All Usage Examples Of Horde_Date_Repeater_DayName::next