Calendar shows wrong times for recurring entry

I’ve installed the Full Calendar plugin and provided a link to a Google calendar. The Google calendar contains a recurring meeting. Up to March 2021, the meeting is correctly shown as starting at 7.30 pm. From April, it is wrongly shown as starting at 6.30 pm.

That could be related to the change to summer time on the last weekend in March. Although the time does not revert to 7.30 pm following the October change back to GMT.

Times show correctly in Google and also in other calendars that use the same Google feed.

Certainly sounds like a “summer time” issue.

But I am impressed you got remote calendars to show! I haven’t been able to work it out.

@ozfiddler - see the other fullcalendar thread for finding out the link to a public google calendar ics representation.
@counterpoint : start/end times for recurring events might still be clunky, yes.
there is already a workaround which I introduced some time ago, but might not work correctly under all circumstances (like summer time changes in between).

Thanks @hoernerfranz, and thanks for creating the plugin. Is there any hope of a solution? Showing incorrect times is a show stopper. Pretty much any calendar that I’d want to display online would contain recurring events. On Wordpress, I use the “Simple Calendar” but it uses the Google API and is therefore tied to Google. I certainly prefer not to use Google, and favour open source solutions. With .ics I can use my Nextcloud as the calendar server. But not if the times come out wrong!

@ozfiddler Once I got calendars to work at all, using a link wasn’t a problem. All I have in the content is:

[fullcalendar icsfile=""][/fullcalendar]

Should work for you - it is a public calendar.

It also worked nicely with Nextcloud, although my calendar there is not public, so I can’t quote it. But this is the format:


@counterpoint , I just tried your public google Calendar and the repeating Event (T&M GP Monthly Meeting) always shows up here at 7:30 pm, every month, so I can’t reproduce your findings here.
as for WP, you could try this which is a fine ics calendar plugin, IMHO.

@hoernerfranz Very strange! Please see this test site.. For comparison, the live site. Checking the entries, it seems I set up individual events to start with, the repeating event started in April 2021. So it seems that the individual events are shown correctly, but the recurring event is always shown an hour early. How can this happen?

Ah, right. I get it now. I was messing around with the Caldav2ics plugin. I didn’t realise that format would work if put in directly. Thanks for the examples. I have it working with my Fastmail calendar now so can play some more.

@hoernerfranz I have now set up a calendar for these meetings using my Nextcloud server. The entries display with the correct time using the Nextcloud calendar. However, putting back the Google calendar still results in times being shown an hour early. Please see the test site linked in my earlier message. The comment in the Github issue by simply computing indicates that times are shown according to the locality of the user - if this is correct and if you are (as your name suggests) in Europe, you should be seeing the time as 8.30 pm since European time is an hour ahead of GMT at present. (Thanks for the link to the ICS Calendar for Wordpress, I have implemented it and migrated the calendar service to Nextcloud. It would be great to have the ICS Calendar functionality for Grav :slight_smile: )

It looks to me like the calendar is showing local time for single events and UTC for recurring events (my recurring events are 11 hours out, which is the diff from UTC in my location). Others may like to test this and confirm.

Thanks @ozfiddler but it can’t be quite that. Right now, .for me, UTC and local time are the same thing - GMT.

Ah… there goes that theory. :grinning:

Did not dig into the issue, but as a note, UTC, GMT and GMT+0 are different things and interpreted differently by PHP. Just a week ago we were solving an issue where data was mismatched and it turned out, even though time currently matches, user chose GMT instead of a proper GMT+0 Ireland/Dublin timezone. Data discrepancy was specifically due to daylight savings

@ozfiddler , caldav2ics Plugin is for automatic creation of ics files from calendar on a caldav server - this is only needed if the caldav server does not provide an ics calendar representation by itself.
not all caldav servers do that (nextcloud does, fastmail too, as you mentioned).

1 Like

the timeshift issue with recurring events is not really clear to me - I don’t use recurring events but tried to implement it as far as possible.
with fc4 I had to use Jakub Roztocil’s rrule repo to get it to work.
I guess there is some different behavior w.r. to time zone handling between fc4 and rrule, which could explain why single events time is processed different from recurring events time.
I’ll check if an update of rrule will help.
if not, it might be better to switch the whole plugin to fc5, which is on the todo list anyway.
but that will not happen in the near future, as fc5 has a heavily changed API.

well, after reading some more docs/issues on the rrule package, it seems clear that the compiled rrule.js that is used here, does not support timezones.
the reason is, a package named luxon is not included in the build.
I’ll see how this can be resolved (I’m not familiar with yarn, the build system in use for rrule, so hints/help on this are welcome)…

1 Like

Thanks for all your work on this @hoernerfranz :+1:

ok, @all - now there have been created several issues on the github project page, covering this discussion and others, I propose closing this thread on the forum for now.
I’ll now see what I can do on the various open requests and answer there.

1 Like

Thanks @hoernerfranz, your efforts are much appreciated.