Lists Home |
Date Index |
Yes, the comparison of these durations is determinate. However, it is
2004-02-29 + P1Y1D > 2004-02-29 + P365D
which is false according to the algorithm you described, (but would be true
for any starting date which is not 02-29 in a leap year). In other words,
I cannot deduce from x > y (P1Y1D > P365D) that a + x > a + y. I realize
its a different > operator (for durations vs. dates), but if they are not
defined consistently there is a problem.
----- Original Message -----
From: "Jeni Tennison" <email@example.com>
To: "Jeff Greif" <firstname.lastname@example.org>
Cc: "John Cowan" <email@example.com>; <firstname.lastname@example.org>
Sent: Sunday, September 29, 2002 11:55 AM
Subject: Re: [xml-dev] limits of the generic
> Hi Jeff,
> > Another astonishment is that the algorithm described makes P1Y1D >
> > P365D indeterminate, even though in our naive understanding, even
> > including the idea of leap year, a year and a day is always at least
> > 366 days.
> I realise that I wasn't clear in my earlier mails about this, but I
> was only suggesting comparing durations by adding them both to a
> particular date and comparing the results when the result of comparing
> the durations directly is undefined.
> Your example of P1Y1D > P365D isn't undefined, however, as I
> understand it. P1Y is between 365 and 366 days. P1Y1D is therefore
> between 366 and 367 days. P1Y1D therefore *must* be more than P365D.
> On the other hand, P1Y1D > P366D, for example, is undefined if you
> just compare the durations, because P1Y1D *could* be more than P366D.
> At that point, *one way* of resolving it would be to add them both to
> today's date (or another date of your choosing) and comparing the
> resulting dates.