Subject: Re: Converting dayTimeDuration to yearMonthDuration
From: Gary Stewart <the.stewarg@xxxxxxxxx>
Date: Wed, 18 Jan 2006 15:23:51 +0000
|
On 18/01/06, Michael Kay <mike@xxxxxxxxxxxx> wrote:
>
> There was a function to do this at one stage - something like
> subtract-dates-yielding-yearMonthDuration - but we took it out because we
> had trouble defining exactly what it should do. (If you were born on 29 Feb
> 1980, how old are you on 28 Feb 2006?)
Yeah I saw that on one of the older specs. I see why it was taken out.
> ((current-date() - xsd:date(birthdate)) div xdt:dayTimeDuration('P1D'))
> idiv 365.242199
> * xdt:yearMonthDuration('P1Y')
>
> But that may give small errors at the boundaries (i.e. on someone's
> birthday).
Thanks that is what I'll use. It's information rather than system
critical stuff.
> The alternative, I think, is to extract the year/month/day components of
the
> two dates and do the calculation yourself.
OK. I'll keep that in mind in the event that people complain about the
wrong age (unlikely though).
Thanks again,
Gary
|