-
Notifications
You must be signed in to change notification settings - Fork 116
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
Recurring events created in DST are off by an hour after DST #107
Comments
I'm experiencing the same problem. |
Also experiencing this. Anyone find a solution yet? |
i had to add code to my app to check and adjust the time if the offsets change between now() and the target event time |
I'm experiencing the same problem and have done some research. ical is parsing all dates as UTC which is great for most cases except recurring events in DST timezones. The problem is, that RRULE needs to have a DTSTART with timezone included to "know" that start times should shift in DST periods. See ical specification:
Here the timezone information of start date is ignored while parsing the rrule: Line 34 in 1308804
(you can see also the UTC parsing because toISOString() always returns UTC time only) So the created rrule has no info about timezone and/or DST and can not handle the hour-shift. Right now I have also no idea how to solve this issue without manual manipulation of the recurring events afterwards (but therefore we would need to hardcode the timezone or parse dtstart of events again on our own..) I've created a sandbox to play around with this issue |
yes, its a mess.. i've had to add a ton of code to the calendar handler in MagicMirror to try to make some sense of it all. nobody has the complete picture and makes a mess at the app level. isoString and DST just add to the mess (did you know there are 5 different DST start/end times.. SO, you get a recurring that was scheduled in the old NON DST adjust , which IS a DST adjust now and the hour is wrong.... so much fun!) see the code in MagicMirror, all after node-ical has parsed the ics data starts with I've just worked out another issue with recurrences (one of the repeating events is moved out of the schedule) which bombed east of UTC because of toISOString() again. |
After this issue mentioned that the node-ical fork eventually solved the problem, I spend some more hours trying to get the fork working... what was again leading to more confusion than before. If anyone else gets stucked with the issue described here, I can encourage you to give Mozialls ical.js a shoot (my apologies to the repo owners here!) |
FYI: The issue I mentioned said that it might solve the issue. TBC |
sorry, that was a translation mistake, I meant "might", not "eventually" (which, directly translated to German, means "might" :D ). But bottom line: In my experience the fork does not solve this issue. |
I'll start by saying that this feels like a bug but maybe it's user error?
I have an event with this date (12:10PM)
DTSTART;TZID=America/New_York:20190922T121000
Becomes 11:10AM when filtering events with
event.rrule.between()
on 3-Nov.The text was updated successfully, but these errors were encountered: