-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Daylight Saving Time Issues - Yet another Time #414
Comments
Thanks @MarkusHarmsen, Your assessment looks correct. Is the We did recently fix an issue with doubled occurrences over DST, and removed some complicated code that was handling it. (See: #404) We previously had a similar method there to |
Hey @avit, I'm not 100% sure about the If that understanding is correct, |
Ok, I looked into this further and confirmed it's not a bug. Your example schedule has a duration of 17 hours: that means each occurrence must have the same length. Because the end of DST adds one hour, that occurrence actually ends at 08:00, not at 09:00 like on other days, so the selection of the "next occurrence" is correct. I considered whether the occurrence should have a different length in this situation, but based on the spec, it should not. Internally, we specify the duration in seconds so it should always be an exact period. However, the spec does allow for setting duration in different amounts, e.g. "1D" should mean a day, regardless of whether it is 24 or 25 hours... IceCube currently doesn't support this, but it could be added without changing the current meaning of duration. |
First of all, many thanks for your awesome gem!
I would love to use it in a project, but sadly our test suite failed when checking some nasty DST changes.
After digging deeper, I was able to build a minimal failing example:
This happens on
master
as well as on thefull_tz
branch.There some related (closed) issues, but I could not see if this is the expected behavior or a concrete "bug".
An attempt to fix that issue has been done here: MarkusHarmsen@0d6f6ef
but although it works "correcting" the DST change for the
end_time
in an occurrence, it fails to catch the edge case seen above (it seems that theValidatedRule
skips the required date).Greetings,
Markus
The text was updated successfully, but these errors were encountered: