spatie/opening-hours
Define and query business opening hours with weekly schedules and exceptions. Check if a date/time is open or closed, get next open/close times, and format hours per day. Integrates with Carbon via cmixin/business-time for date-based queries.
Full Changelog: https://github.com/spatie/opening-hours/compare/4.2.0...4.2.1
Full Changelog: https://github.com/spatie/opening-hours/compare/4.1.3...4.2.0
Full Changelog: https://github.com/spatie/opening-hours/compare/4.1.2...4.1.3
Full Changelog: https://github.com/spatie/opening-hours/compare/4.1.1...4.1.2
Full Changelog: https://github.com/spatie/opening-hours/compare/4.1.0...4.1.1
isAlwaysClosed and isAlwaysOpen when opening hours contain exceptions by @jordyvanderhaegen in https://github.com/spatie/opening-hours/pull/262Full Changelog: https://github.com/spatie/opening-hours/compare/4.0.3...4.1.0
nextClose() result with overflow over night by @kylekatarnls in https://github.com/spatie/opening-hours/pull/259Full Changelog: https://github.com/spatie/opening-hours/compare/4.0.2...4.0.3
Full Changelog: https://github.com/spatie/opening-hours/compare/4.0.1...4.0.2
Full Changelog: https://github.com/spatie/opening-hours/compare/4.0.0...4.0.1
getData() with readonly property ->dataisAlwaysOpen() and isAlwaysClosed() methodsDay to an enumTime and TimeRange readonlyOpeningHours by @ambroisemaupate in https://github.com/spatie/opening-hours/pull/232createFromStructuredData() by @kylekatarnls in https://github.com/spatie/opening-hours/pull/237Full Changelog: https://github.com/spatie/opening-hours/compare/3.0.0...4.0.0
Time::date() methodDateTimeRange classto or - separatorfill() and setData()setFilters()Cap holidays check to end date when calculating diff
Make comparison microsecond-precise
Apply timezone for all methods and both input/output
Copy non immutable dates to apply timezone
Add array-shape create() PHPDoc
Support PHP 8.1
Add dateTimeClass option to use other class for date objects
mergeOverlappingRanges now properly handle hours for each hour or encapsulating a list of hours.
mergeOverlappingRanges now handles "hours" key and clean "data" keys before merging ranges
Allow isOpenOn() to take date string as parameter
Fix support of data/filters/overflow with OpeningHours::createAndMergeOverlappingRanges and OpeningHours::mergeOverlappingRanges
Add InvalidTimezone exception
Add forWeekConsecutiveDays method
Add new methods:
#128 Allow un-ordered ranges
#121 Allow to pass timezone in TimeRange::format
#121 Allow custom format and timezone in asStructuredData()
How can I help you explore Laravel packages today?