[uf-discuss] Formatting arbitrary dates, not part of hCalendar

Paul Wilkins pmw57 at xtra.co.nz
Mon Mar 19 11:29:10 PST 2007


Andy Mabbett wrote:
> In message
> <923a87360703090710y113d3ca2taf9e29dc839a4b19 at mail.gmail.com>, Ara
> Pehlivanian <ara.pehlivanian at gmail.com> writes
> 
> 
>>I've always had trouble with the idea of using <abbr> to mark up dates
>>because semantically, it isn't expressing an abbreviation of any sort.
> 
> 
> That's particularly true of:
> 
>         <abbr class="dtend" title="2007-04-01">30 March</abbr>
> 
> which is an abomination (and an accessibility disaster) which I have
> vowed ever to use on web pages under my control.

There is a nice way out of this mess though. Provide a time instead of a 
date and dtend can then end on whatever correct day you desire.

<abbr class="dtend" title="2007-03-30T23:59:59">30 March</abbr>

Unfortunately it's not microformats to blame there, as the microformat 
itself is mirroring to as great an accuracy as possible the already 
defined behaviour for internet calendaring and scheduling as set out by 
Apple in RFC 2445.

<quote>The "DTEND" property for a "VEVENT" calendar component specifies 
the non-inclusive end of the event.</quote>

When a date only is provided, it's assumed that the time is at midnight. 
For events that are specified in terms of days, and not time, the end 
date is the non-inclusive date.

If an event goes for one day, saying they start and stop on the same day 
  uses the presumption of a midnight time, so for an event to last for 
one day, the end *has* to be on the day after.

This is why the RFC for internet calendaring and scheduling defines 
dtend as being a non-inclusive date.

The RFC for internet calendaring and scheduling is at
http://www.ietf.org/rfc/rfc2445.txt

    The "DTSTART" property for a "VEVENT" specifies the inclusive start
    of the event. For recurring events, it also specifies the very first
    instance in the recurrence set. The "DTEND" property for a "VEVENT"
    calendar component specifies the non-inclusive end of the event. For
    cases where a "VEVENT" calendar component specifies a "DTSTART"
    property with a DATE data type but no "DTEND" property, the events
    non-inclusive end is the end of the calendar date specified by the
    "DTSTART" property. For cases where a "VEVENT" calendar component
    specifies a "DTSTART" property with a DATE-TIME data type but no
    "DTEND" property, the event ends on the same calendar date and time
    of day specified by the "DTSTART" property.


-- 
Paul Mark Wilkins
New Zealand Tourism Online
pmw57 at xtra.co.nz <mailto:pmw57 at xtra.co.nz>
109 Tuam Street
Level 1
Christchurch 8011
New Zealand
+64 3 963 5039


More information about the microformats-discuss mailing list