W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > April to June 2002

RE: Internal inconsistency wrt year 0000

From: Ashok Malhotra <ashokma@microsoft.com>
Date: Wed, 24 Apr 2002 09:08:37 -0700
Message-ID: <E5B814702B65CB4DA51644580E4853FB0148878E@red-msg-12.redmond.corp.microsoft.com>
To: "James Clark" <jjc@jclark.com>, <www-xml-schema-comments@w3.org>
Cc: "C. M. Sperberg-McQueen" <cmsmcq@acm.org>
I looked up the reference you cited in the WikiPedia and it is
It says:
"When using the Latin numbering system, which does not include zero, it
is traditional to represent the years preceding 1 as "1 BC" etc.  In
this system the year 1 BC is a leap year (likewise in the proleptic
Julian calendar). 

When using a numbering system which includes zero, it is more convenient
to include a year zero and represent earlier years as negative. This is
the convention used in the "astronomical Gregorian calendar". In this
system the year 0 is a leap year."

So, it seems you may or may not allow year zero.  We could choose to
to ISO 8601 and allow year zero or not.

Also, is WikiPedia an authoritative source?

All the best, Ashok 
Ashok Malhotra              <mailto: ashokma@microsoft.com> 
Microsoft Corporation
212 Hessian Hills Road
Croton-On-Hudson, NY 10520 USA 
Redmond: 425-703-9462                New York: 914-271-6477 

-----Original Message-----
From: James Clark [mailto:jjc@jclark.com] 
Sent: Tuesday, April 23, 2002 7:37 PM
To: Ashok Malhotra; www-xml-schema-comments@w3.org
Subject: RE: Internal inconsistency wrt year 0000

> Our current thinking is that ISO 8601 is in error and we want to
> a change disallowing the year 0000.
> You said:
>> Now the year 1BC in the proleptic Gregorian calendar is a leap year.
> Where can I confirm this information?  We've been worrying about a
> related change in the comparison of durations that is affected by this
> information.

If you start from first principles, I think this has to be the case.
purpose of leap years in a calendar is to ensure that the mean length of
year in the calendar is as close as possible to the length of the solar 
tropical year.  This requires that the calendar have a regular cycle.
cycle of the Gregorian calendar is 400 years.  The year 400AD is a leap 
year. The year 1BC immediately precedes 1AD and so is 400 years before 
400AD. Therefore 1BC must also be a leap year.  In other words, if 1BC
not a leap year, there would be a discontinuity in the proleptic
calendar for which there is no justification.  I did a bit of googling
found the following:

http://www.bluewaterarts.com/calendar/InterGravissimas.htm  (translation
Papal Bull establishing the Gregorian calendar)

As regards the the year 0000 issue, everything I have found on the Web 
suggests that ISO 8601 is correct, and that the year -1 corresponds to 2
not 1 BC.  There are two ways to number years:

-2, -1, 0, 1, 2
3 BC, 2 BC, 1 BC, 1 AD, 2 AD

but never

-2, -1, 1, 2

In addition to the above see:


I have never found anything that suggests that the year -1 corresponds
to 1 
BC in the Gregorian calendar.


> All the best, Ashok
> ===========================================================
> -----Original Message-----
> From: James Clark [mailto:jjc@jclark.com]
> Sent: Tuesday, April 23, 2002 6:30 AM
> To: www-xml-schema-comments@w3.org
> Subject: Internal inconsistency wrt year 0000
> The inconsistency between XML Schema Part 2 and ISO 8601:2000 wrt year
> 0000
> has already been commented on, but there is also a minor internal
> inconsistency.  XML Schema Part 2 disallows year 0000, which means
> year -0001 corresponds to 1BC (whereas in ISO 8601:2000, 1BC is year
> 0000).
> Now the year 1BC in the proleptic Gregorian calendar is a leap year.
> However, appendix E uses the formula
>   modulo(Y, 400) = 0 OR (modulo(Y, 100) != 0) AND modulo(Y, 4) = 0
> to determine whether Y is a leap year.  But this formula makes year
> -0001
> not a leap year.  If year 0000 was allowed (representing 1BC), then
> formula would be correct.
> James
Received on Wednesday, 24 April 2002 12:08:42 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:49:59 UTC