Ical Local or Floating Date Times?

A personal time?

According to the spec  local times (eg DTSTART:20100202T161500) are the same whatever the attendees timezone.  Eg: if you go for a run at 8am in the morning, where ever you are in the world, then it does not matter what timezone you are in, you want this note or alarm or reminder to say 8am.

The requirement is quite different for an international conference call with attendees in different timezones, or for a location specific conference.

Are  fbcalendar/facebook and artistdata using them correctly?

I have now encountered another ical feed (fbcalendar) that is issuing the event dates as “local” ie: without a timezone spec for the event. Thus far  the ical plugin is intended to reflect them as “local” no matter what the timezone.  It has to create the date time with a timezone, so it uses whatever it has determined as the plugin’s default timezone.      This can be overwritten in by URL request.  If the plugin is working correctly, then no matter what timezone is requested in the url, the loacl or floating time should stay the “same”.

Now we have the puzzling question of what to do when a ics file with  times defined as “local” is passed through another calendar application which changes that definition?

For example, one of the plugin users has a complicated url that includes a comma.  The shortcode is happy with, but the widget is not.  So he has passed it through google calendar to get a url that works in the widget.

So a event that was defined with start and end dates like this:

X-WR-TIMEZONE;VALUE=TEXT:Europe/Oslo (for ics file)

DTSTART:20100202T161500
DTEND:20100202T180000
LAST-MODIFIED:20100127T074205Z
LOCATION:Auditorium 4\, Eilert Sundts hus
SUMMARY:A.C. Grayling: ‘On the Age of Terror and other threats to liberty’

has become after being goooglized:

X-WR-TIMEZONE:Europe/Oslo (at calendar level)

DTSTART:20100202T151500Z
DTEND:20100202T170000Z
DTSTAMP:20100130T034724Z

SUMMARY:A.C. Grayling: ‘On the Age of Terror and other threats to liberty’

The Z means “utc” timezone.   The resulting time when converted to Oslo time is the same.  However if those same files are used in other timezones, the resulting times will be different!  The second one will be converted to the timezone that it is being displayed in.

An Error?

Arguably, the original event specification was in error. If this is a specific event at a specific location, then the local or floating datetime spec is incorrect.   It should be specified in the timezone of that location.

What should the plugin (or any ics reader) do?

I think my interpretation of what the plugin should do is correct – however this may occasionally give unexpected results.  However I think the error is then in the generation of the Ical feed, or specification of the event – floating times should be carefully used.

About anmari

the developer at anmari
This entry was posted in Notes and tagged , . Bookmark the permalink.