Twitter, and the wider ‘blogosphere’, have been alive tonight (UK time), with people commenting on, or mostly simply repeating, the news that Facebook have implemented the hCalendar microformat on all their events, making them parsable by machines and thus easy to add to desktop or on-line calendars. They’ve also included hCard microformats for venue details.
This is generally a good thing, but what most people — at least some of whom should have known better — failed to notice was that the implementation is broken.
which, as you can see, is on 18 February from 19:00–22:00 (7–10pm).
That’s encoded, in the Facebook page’s mark-up, as:
<span class=”dtstart”><span class=”value-title” title=”2011-02-18T19:00:00-08:00“> </span>19:00</span> – <span class=”dtend”><span class=”value-title” title=”2011-02-18T22:00:00-08:00“> </span>22:00</span>
The “-08:00” at the end of each date-time value represents a timezone 8 hours behind UTC (as we must now call Greenwich Mean Time) — that would be correct were the event in California, or elsewhere in the Pacific Time Zone; but for the UK, the mark-up translates to 3-6am.
Since the event is in the UK, the start time should be encoded as “2011-02-18T19:00:00+00:00“, which puts it in the correct UTC timezone (in British Summer Time, it would be “2011-02-18T19:00:00+01:00“). Ditto for the end time.
The same will apply for events in any other timezone on the planet, each with an appropriate adjustment.