Re: [xsl] XSLT 2.0/XPath 2.0 Date arithmetic

Subject: Re: [xsl] XSLT 2.0/XPath 2.0 Date arithmetic
From: Andrew Franz <afranz0@xxxxxxxxxxxxxxxx>
Date: Thu, 18 May 2006 22:50:45 +1000
cknell@xxxxxxxxxx wrote:

Given a parameter, let's call it "today" in the form of this string "20060517", how do I create a variable, let's call it "tMinus1" such that it represents a day earlier than "20060517", that would be "20060516". So long as "$today" isn't the first day of a month, a simple subtraction and followed by a type cast that I don't grasp would do the trick.

What I'm looking for is guidance on date arithmetic.


If you're using Xalan and Java, you can always use the (non-standard) extensions.
Something along the following lines (not tested):

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0"
<xsl:variable name="today">20060517</xsl:variable>
<xsl:variable name="sdf" select="'yyyymmdd')" />
<xsl:variable name="tMinus1" select="java:format($sdf, (1000*60*60*24)+java:Long(java:parse($sdf, $today)))" />

JavaScript is also available/possible

Current Thread