- From: Jeroen Budts <jeroen@lightyear.be>
- Date: Wed, 29 Oct 2003 22:35:39 +0100
- To: Lachlan Hunt <lhunt07@postoffice.csu.edu.au>
- Cc: www-html@w3.org
I can remember there was already a discussion about this. And somebody proposed version 4 which is the best version I think. Lachlan Hunt wrote: b) It would mean that authors would have to take care that they wrote the date, following the format < exactly. If an error was made, such as using '-' instead of ':', or omitting the T, or anything else, user agents may find it useless, and unable to process. indeed but isn't that the same about forgetting a slash in a tag like <img src="foo" alt="bar" /> ? Kind regards, Jeroen Lachlan Hunt wrote: > > Hi, > I would like to propose that XHTML implement a <datetime> element for > the purpose of rendering, obviously, dates and times. I have noticed > some messages in the archives from a few months ago that mention > various date tags and formats, but none that I thought provided a > really good option. > > I have come up with several alternatives for this. > > > Version 1: > The first places each field in a separate tag, as follows: > > <datetime calendar="gregorian" locale="au" tz="+10:00"> > <day>Tuesday</day> > <date>28</date> > <month>10</month> > <year era="CE">2003</yr> > <time>13:10:15</time> > </datetime> > > This has the advantage that older browsers that won't support the tags > will still render the content such as: > "Tuesday 28 10 2003 13:10:15" > which is atleast readable, though not perfectly formatted. However > new browsers that do understand the tags will be able to apply, (also > older browsers that support CSS, if it provided by the author) will be > able to format the date in a presentable manner such as: > "Tuesday, 2003-10-28 13:10:15" > > Plus, browsers from other languages will see the calendar, locale and > tz (timezone) attributes and be able to perform calculations, or other > formatting to present the date in the user's preferred format, or even > convert to a different calendar. xml:lang may also be used here to > specify the language, if it is different from the rest of the document. > The era (which would default to CE) attribute also allows historians > to write dates as BCE. > > Note: I am proposing the use of CE (common era) and BCE (before > common era), instead of AD and BC because of the relationship of the > latter to christianity. > > It may also be an option to use <hour>, <min> and <sec> tags, rather > than just the single <time> tag, but it may be unnecessary to break > time down that far. > > > Version 2: > Alternatively, this could be written with each field as attributes, > and have default text, for rendering in older user agents, within the > tags. > Using CSS, this default content could be hidden, as in the <object> > tag, for example, and use the attributes when printing the date, or > perform conversions before rendering by the browser. > > <datetime calendar="gregorian" locale="au" era="CE" year="2003" > month="10" day="Thursday" date="30" hour="13" min="10" sec="15" > tz="+10">Thursday, 10 October 2003, 13:10:15</datetime> > > Possible CSS to render this could be written like this (or some other > variant): > datetime:after { > content: attr(day) + ", " + attr(date) + "-" + attr(month) + "-" + > attr(year) + ", " + attr(hour) + ":" + attr(min) + ":" + attr(sec); > } > > > Version 3: > The third version simply specifies the calendar, locale, era and tz, > along with a format, as follows: > <datetime calendar="gregorian" locale="au" tz="+10:00" era="CE > format="dddd, dd-MM-yyyy, HH:mm:ss">Tuesday, 30-10-2003, > 13:10:15</datetime> > This would allow user agents to understand the format that the date > has been written in, and allow alternative rendering, or conversions > to be performed. > > > Version 4: > My final version simply uses an attribute that specifies the > international format, with default text rendered within, as before. > > <datetime datetime="2003-10-28T13:10:15+10:00">Tuesday, 10 October > 2003, 13:10:15</datetime> > > However, I see two problems with versions 3 and 4: > a) The browser would need to support this tag to be able to reformat > the date in any way. I'm not aware of any css that can process a > string like this ("2003-10-28T13:10:15:00+10:00") to seperate content, > reformat and display. > > b) It would mean that authors would have to take care that they wrote > the date, following the format exactly. If an error was made, such as > using '-' instead of ':', or omitting the T, or anything else, user > agents may find it useless, and unable to process. > > Thus, I prefer either my first or second alternative because it > clearly seperates each field, making it easier for authors, and CSS > designers to format. Perhaps some combinations of these four > alternatives that I have not considered could be used. > > > > > -- ------- <Greetz from="Jeroen Budts" e-mail="jeroen@lightyear.be url="http://www.lightyear.be" blog="http://www.teranex.tk" />
Received on Wednesday, 29 October 2003 16:37:12 UTC