"Markus G. Kuhn" > INTERNET:kuhn@cs.purdue.edu
ISO 8601 provides no way to represent years before the year 0000, or after the year 9999. This makes it difficult to represent timestamps in some historical applications. To fix this, you might extend the syntax for date-fullyear to:
date-fullyear = ["-"] 4*DIGIT
where the years are numbered ..., -0002, -0001, 0000, 0001, 0002, .... (Note that unlike the traditional Julian calendar, there is a year 0 in the modern Gregorian calendar.)
WRONG! Negative year numbers are not part of the Gregorian calendar. There are two ways to number years before 1 AD, astronomical and historical. In historical dating, the year 1 AD is preceded by 1 BC, as there was no concept of 0 in Western civilization when Exigius set up the Anno Domini year count in AD 532. In astronomical dating, there is no BC: everything is AD, the year 1 AD is preceded by the year 0 AD, which is preceded by -1 AD, preceded by -2, etc... Here's a way to remember it: Julius Caesar was assassinated on 15 March 44 BC, historical dating, and -43 March 15, astronomical dating.