See org.ametys.plugins.explorer.calendars.workflow.AddEventFunction._setEventData
in line 167 startDateAsString (got from clientside) contians the timezone, but then startDate lost it, and so the event is created with a start date with the local date time of the client, but with the zone of the server !
For instance if server is in Paris GMT+1, someone in Auckland GMT+12 will create its event in start=12:00 and then will see it with start=23:00 because the event is stored with start=12:00 for zone GMT+1
Of course, same thing for end date (line 169).