W3C home > Mailing lists > Public > whatwg@whatwg.org > March 2009

[whatwg] <time>

From: David Singer <singer@apple.com>
Date: Mon, 16 Mar 2009 10:54:46 -0700
Message-ID: <p06240802c5e43d20a9c8@[10.0.1.6]>
At 19:01  -0500 14/03/09, Robert J Burns wrote:
>The problem isn't that negative integers are not well-defined and 
>understood well. The problem is understanding how an ISO 8601 
>representation - such as these examples include - maps to an 
>author's or user's understanding of the year 2 BC (or is it 1 BC?). 
>ISO 8601 provides no clear way out of that ambiguity.

I disagree.  It lays out a clear way of labelling dates, that happens 
to correspond to the Gregorian calendar after its introduction.

It has a year 0 (because both it uses normal integers to count years, 
and because this keeps the leap year calculation correct).  In 
everyday usage, 1BC (1BCE) precedes 1AD (1CE).  So, yes, there is a 
adjustment of 1 moving between the two.

>It isn't a matter of denial or belief. This is an issue of precisely 
>defining a Gregorian calendar to apply to the past: a calendar which 
>was defined in 1582 with only the future in mind. ISO 8601 could 
>have stepped in an further defined the Gregorian calendar but it 
>punted.

Since it defines both zero and negative years, how did it punt?

>If I understand current proleptic Gregorian calendar use correctly 
>(such as that used by astronomers) the implication is that HTML will 
>not match the other uses of that calendar. ISO 8601 has unambiguous 
>leap year rules which are to be applied to 000 and negative years as 
>well. If we accept year 0, then -0001 would mean 2 BC. That's fine, 
>but we need to make it clear to authors and there's some concern 
>authors would make the mistake of thinking -0001 was instead 1 BC.

A note pointing this out might be prudent.

>However, if the UA displays the information in a non-machine 
>readable form, how does it make that conversion for presentation 
>purposes. Does 0000-01-01 get displayed as 1 January 1 BC? Or as 1 
>January 00?

UA choice;  it might display it in a different (mappable) calendar 
system entirely.  That's one of the major points of having a 
well-defined day-labelling system - it can be mapped to any other 
well-defined system.

>
>>Here his the only debate I see over this:
>>ISO 8601:2000 and above suggest that year 0000 be used and be 
>>considered year 1 BC, and then -0001 is 2 BC, etc.
>
>Could you cite specifically where you get that from ISO 8601:2000? 
>I'm looking at ISO 8601:2004 and don't see a clear indication of 
>that anywhere.

"Consecutive calendar years are identified by sequentially assigned 
year numbers"

In sequential numbers, zero precedes 1.  In case of doubt, it even 
says, emphasizing that there is a year labelled as 0:

"In the proleptic Gregorian calendar, the calendar year [0000] is a 
leap year. "

It doesn't comment on mapping to other uses;  it merely labels days 
and years.  If you want to map to a calendar that omits the label "0" 
but uses 1BC (BCE) instead, then you'll need to adjust by 1.  It 
could (but should not) have sections on mapping to any number of 
other calendar formats.

>We aren't really asking much of UAs in terms of implementation here. 
>The HTML5 draft includes algorithms to parse the dates, but whatever 
>happens with them after they are parsed are left up to other 
>processors and other standards. This means that allowing keyword 
>differentiation of alternate calendars (with clear norms for an 
>omitted keyword and a "Gregorian" keyword) requires very little of 
>UAs.

It requires a huge amount;  instead of mapping ISO 8601 to whatever 
they want to present, they have to be ready for arbitrary numbers of 
source formats, and they'll fail if the source format is unrecognized.

If the author can't convert it, why assume the UA can?

At 13:14  +0100 16/03/09, Leif Halvard Silli wrote:
>I can live with @datetime limited to ISO-8601, as long as @datetime 
>also lives up to ISO-8601's own limitations: It isn't valid beyond 
>1582-10-15

I assume you mean 'before'.  On the contrary, it says explicitly:
"The Gregorian calendar was introduced on 15 October 1582. In the 
calendar set by this standard the
calendar day preceding that calendar day is referred to as 14 October 1582."

At 8:00  -0500 16/03/09, Robert J Burns wrote:
>The other problem I think you're missing is that dates referenced in 
>historical documents are often non-Gregorian dates. It isn't 
>"standard" to use the proleptic Gregorian calendar to reference the 
>date of historical events. It is "standard" to use whatever calendar 
>is used locally (or elsewhere in the world) at the time of the event 
>(especially for Julian calendar usage).

Right;  you write the source document's date in the body text, and 
you provide, if you can, the ISO 8601 label of that day, in the 
attribute.

<time datetime="<ISO 8601 day-label>">The ides of march, 14 BC</time>

This allows the UA to present the day in any calendar mappable from 
an ISO 8601 day-label, to the user, in whatever accessibility 
modality the user wants.

At 15:59  +0200 16/03/09, Mikko Rantalainen wrote:
>How about specifying that the content of <time> element will be parsed
>for the date only if 'datetime' attribute is empty. In addition, the
>spec should explicitly say that if the content is time in any other
>calendar system but Proleptic Gregorian calendar then the datetime MUST
>contain equivalent time in standard format (whatever the spec for
>'datetime' will be).

Don't forget that there are plenty of cases where, alas, the exact 
day referred to is uncertain and cannot be mapped to any other 
calendar.
-- 
David Singer
Multimedia Standards, Apple Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20090316/eb9cf6a7/attachment.htm>
Received on Monday, 16 March 2009 10:54:46 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 30 January 2013 18:47:49 GMT