cknell(_at_)onebox(_dot_)com 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.
Thanks.
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"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="http://xml.apache.org/xalan/java"
exclude-result-prefixes="java">
...
<xsl:variable name="today">20060517</xsl:variable>
<xsl:variable name="sdf"
select="java:java.text.SimpleDateFormat.new('yyyymmdd')" />
<xsl:variable name="tMinus1" select="java:format($sdf,
(1000*60*60*24)+java:Long(java:parse($sdf, $today)))" />
...
</xsl:stylesheet>
See http://xml.apache.org/xalan-j/extensions.html#ext-func-calls
JavaScript is also available/possible
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--