Subject: RE: [xsl] xslt 2. Date arithmetic. From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 1 Mar 2005 16:24:03 -0000 |
The difference between two dates is a dayTimeDuration (if they're in the same timezone - the usual case - then it will be an integer number of days). Subtraction of dates to give a yearMonthDuration - the old subtractDateTimesYieldingYearMonthDuration - has been removed (as befits any function with such a ridiculous name) because it proved too difficult to specify it. For example, would you expect 2005-02-28 minus 2005-01-31 to be one month, on the basis that 2005-01-31 plus one month is 2005-02-28? But surely the difference between these two dates is the same as 2004-02-28 minus 2004-01-31? Depending what you actually want to achieve, the best approach is probably to extract the year/month components (year-from-date(), month-from-date()) and manipulate the values yourself. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Pawson, David [mailto:David.Pawson@xxxxxxxxxxx] > Sent: 01 March 2005 15:51 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] xslt 2. Date arithmetic. > > > <xsl:variable name="t1" > select="xs:date('2002-09-01')"/> > <xsl:variable name="t2" select="current-date()" /> > > <xsl:variable name="dur" > select="xdt:yearMonthDuration($t2 - $t1)" > as="xdt:yearMonthDuration" > /> > > <xsl:sequence > select="$dur" /> > > > I'm getting casting errors, and I can't see a way of resolving it. > Error on line xx: > FORG0001: Cannot convert to yearMonthDuration because some > components are non- > zero > Transformation failed: Run-time errors were reported > > yes.... agree they are non-zero. > > > > Any help appreciated. > > > Regards DaveP. > > **** snip here ***** > > -- > DISCLAIMER: > > NOTICE: The information contained in this email and any > attachments is > confidential and may be privileged. If you are not the intended > recipient you should not use, disclose, distribute or copy any of the > content of it or of any attachment; you are requested to notify the > sender immediately of your receipt of the email and then to delete it > and any attachments from your system. > > RNIB endeavours to ensure that emails and any attachments generated by > its staff are free from viruses or other contaminants. However, it > cannot accept any responsibility for any such which are transmitted. > We therefore recommend you scan all attachments. > > Please note that the statements and views expressed in this email and > any attachments are those of the author and do not > necessarily represent > those of RNIB. > > RNIB Registered Charity Number: 226227 > > Website: http://www.rnib.org.uk
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xslt 2. Date arithmetic., David Carlisle | Thread | RE: [xsl] xslt 2. Date arithmetic., Pieter Reint Siegers |
RE: [xsl] xslt 2. Date arithmetic., Pieter Reint Siegers | Date | RE: [xsl] XSLT 2.0 empty string: Su, Michael Kay |
Month |