Comments (6)
Catching the exception is not a solution, we could also just never throw it. But there is a good reason for it to be there, it prevents infinite loops that you would hit if you actually try to find nextOpen()
=> there is nothing to find in the future, so it would search forever, that's why there is this exception.
You can increase the limit to your convenience: setDayLimit()
, you can try $openingHours->setDayLimit(PHP_INT_MAX)
at your own risks.
from opening-hours.
I fully understand why in general the exception is thrown. But here in this case, only in this function, it leads to an error as described. You cannot calculate diffInOpenMinutes, when there is only one possible date.
from opening-hours.
Sorry. Indeed I see your point. We can catch in diffInSeconds
and consider that a closing time within the limit, then the whole period is open.
from opening-hours.
In my example configuration opening hours are defined like this:
'2016-11-11' => ['09:00-12:00']
So when I call $openingHours->diffInOpenMinutes('2016-11-01', '2016-11-31') I expect to get 180 minutes.
In the loop the $skipDateMethod='nextOpen' will not find anything after 2016-11-12 and therefore throw the exception, but the sum of the time is already 180 minutes. So it makes sense for me to return that time.
from opening-hours.
Fixed in the version 2.41.0
from opening-hours.
Great thanks, its working now.
from opening-hours.
Related Issues (20)
- several advanced features HOT 4
- Github URL update HOT 2
- [Question/Feature Request] How to get all days of the current week including days resulting from exceptions? HOT 3
- [Bug] nextOpen calculates the wrong date for a regular day with exceptions HOT 3
- timezone is set on passed object when getting hours for a specific date HOT 2
- Free time slots during the day ? HOT 1
- nextOpen not respecting timezone HOT 2
- Timezone not working in currentOpenRange HOT 2
- I want to add schedule for specific date HOT 1
- Locale? HOT 1
- GitHub repository link not working HOT 2
- Support for holidays HOT 5
- Overflow support does not seem to work for createAndMergeOverlappingRanges HOT 2
- Date period in exceptions or start and end date for a set of days of the week in regular time HOT 4
- Exceptions with date ranges HOT 5
- [Feature request] createFromStructuredData method
- How to destroy OpeningHours object or update it ? HOT 1
- How to create an exception using datetime with seconds HOT 2
- Adding seconds precision to exceptions HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opening-hours.