rlanvin/php-rrule
Lightweight, fast RFC 5545 RRULE recurrence engine for PHP. Generate recurring dates/events from rules, iterate occurrences, and get human-readable descriptions. Inspired by python-dateutil. PHP 7.3+; intl recommended for humanReadable().
createdFromRfcString #103getOccurrencesAfter returns empty array when $inclusive is false and $limit is not set #93DateTimeImmutable #90RRule::createFromRfcString not detecting RSet properly if the rule was lowercaseexplicit_infinite and include_start options to humanReadable to respectivity omit "forever" and the start date from the sentence.RRule::createFromRfcString() to build either a RRule or a RSet from a string$limit parameter to getOccurrences() and getOccurrencesBetween() to make working with infinite rule easier$dtstart parameter to RRule and RSet constsructor to specify dtstart when working with a RFC string without DTSTART.RRule::parseRfcString is deprecated. Note: it wasn't part of the documentation in the first place, but just in case someone is using it, it's not removed yet.humanReadable() fails if the RRule was created from a RFC string containing the timezone (e.g. DTSTART;TZID=America/New_York:19970901T090000)RRule::offsetGet and RSet::offsetGet throw InvalidArgumentException for illegal offset types #22RRule::i18nLoad() to accept locales such as en_sg and use Locale::parseLocale when possible #24humanReadable fails with intl enabled when the timezone is "Z" #24RRule::getRule() method to return original rule array #17RSet::getRRules(), RSet::getExRules(), RSet::getDates() and RSet::getExDates()rfcString when using a frequency constant (instead of a string) to create the rule #16$include_timezone parameter to RRule::rfcString() to produce a RFC string without timezone informationRRule::parseRfcString() is stricter and will not accept invalid DTSTART and UNTIL formats (use the array syntax in the constructor with DateTime objects if you need to create rules with complex combinations of timezones). #13RRule\RSet (recurrence set) that can combine multiple RRULE, EXRULE, RDATE and EXDATE. #7RRule\RRuleInterface to unify RRule and RSetisFinite(), isInfinite()occursAt failing when the date passed was a different timezone #8RRule::occursOn has been removed (use occursAt instead)dev-master was used).How can I help you explore Laravel packages today?