Giter VIP home page Giter VIP logo

Comments (6)

kylekatarnls avatar kylekatarnls commented on June 11, 2024

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.

janh-kramer avatar janh-kramer commented on June 11, 2024

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.

kylekatarnls avatar kylekatarnls commented on June 11, 2024

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.

janh-kramer avatar janh-kramer commented on June 11, 2024

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.

kylekatarnls avatar kylekatarnls commented on June 11, 2024

Fixed in the version 2.41.0

from opening-hours.

janh-kramer avatar janh-kramer commented on June 11, 2024

Great thanks, its working now.

from opening-hours.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.