Class om\RRule\Expander

final
implements IteratorAggregate<int, int>

Expands a recurrence rule into occurrence timestamps (RFC 5545, section 3.3.10). Each FREQ period (year, month, week, day, hour, ...) is turned into a set of candidate days and times, which the BYxxx rule parts then filter. Filtering a whole period covers both the "expand" and the "limit" behaviour described in the RFC table, and BYSETPOS then picks from the sorted period set. Calculations use wall-clock dates in the DTSTART timezone, so daylight saving transitions keep the local time, and the process default timezone is never changed. DTSTART always counts as the first occurrence, even when it does not match the rule. SKIP of RFC 7529 moves an instance on an invalid day of the month (e.g. February 30) to the last day of the month or to the first day of the next month; this happens before BYDAY, BYSETPOS and COUNT, and duplicate instances are removed.

Located at RRule/Expander.php
Methods
Constants