[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Converting dayTimeDuration to yearMonthDuration


Subject: Re: [xsl] 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


Current Thread