- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Thu, 30 Jul 2009 09:16:05 -0500
On Thu, Jul 30, 2009 at 8:43 AM, Elliotte Rusty Harold<elharo at ibiblio.org> wrote: > I note in http://www.whatwg.org/specs/web-apps/current-work/#valid-date-string > that "Dates before the year zero can't be represented as a datetime in > this version of HTML." This seems a serious omission. Why can we > represent the birth of Nero but not the birth of Julius Caesar? Are > there plans to rectify it? There have been *long* debates on this. Basically, it all revolves around calendars, and the fact that, before the current Gregorian calendar was adopted, dates were *much* more complicated, and hard to pin down in a definite way. As noted in the spec, the current Gregorian calendar was first adopted in some countries in the 16th century, though it wasn't fully adopted everywhere until the mid-20th century. For dates, before that, you have to do some conversion to get it "on track" with regards to our current calendar. As you go further back the conversion gets more difficult, depending on archeology, essentially, and eventually becomes impossible. The only reason the spec blesses dates back to 0 is because it's easy to do when you're already blessing dates back to 1500 or so. It doesn't require a single extra step in the algorithm. By the time you actually *hit* that point, though, you're already pretty much in the "have to be a historical scholar, and be pretty lucky, to figure this out" range. In addition, note the use-case for <time>. It is *not* meant to be a general text-level semantic for dates. It's designed to make it easy to machine-parse dates around the current era for use in calendar applications, etc. (For example, one could automatically save an event from a page onto your calendar.) Plotting the birth of Julius Ceasar on a calendar may be an interesting way to bring that time period to life, but it's not really useful in the way that actual calendar applications are intended. Note: you *can* still mark up years BCE in HTML5! "<p>This event happened in 5 BCE</p>" is perfectly valid. There's no easy machine-parseable metadata in there, but so far there hasn't been much presented that would require such a thing. As Bruce said, if you have some concrete use-cases for why you need to mark-up the date in a machine-readable manner, rather than simply having it within the text of your site, please share! ~TJ
Received on Thursday, 30 July 2009 07:16:05 UTC