|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Converting dayTimeDuration to yearMonthDuration
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?)
One possible answer is
((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).
The alternative, I think, is to extract the year/month/day components of the
two dates and do the calculation yourself.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Gary Stewart [mailto:the.stewarg@xxxxxxxxx]
> Sent: 18 January 2006 14:38
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Converting dayTimeDuration to yearMonthDuration
>
> Hello people.
>
> I'm sorry to bother you with questions like this. I just couldn't seem
> to find an answer anywhere else. I'm currently using XSLT 2.0 and
> taking advantage of XPath 2.0. I'm trying to get the age of someone
> based of:
>
> (current-date() - xsd:date(birthDate))
>
> which returns a dayTimeDuration. The issue is I'd really like to use
> years-from-duration but that expects a yearMonthDuration. I tried
> casting from dayTimeDuration to yearMonthDuration but to no avail.
> Does anyone know a way to get a year result from a dayTimeDuration?
>
> Thanks,
>
> Gary
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








