Date utilities
This is an open discussion with 9 replies, filed under XSLT.
Search
Submitted a bug. Ciao :)
Date utilities
updated to version 0.1.1
on 5th of December 2010
Ciao @eKoeS
I'd like to use your utility to test if a date in my XML output is earlier than today. The reason I'm not using a data source for this is that my date is stored in a text input so the "earlier than today" filter will not work.
So the XML looks like this:
<member-info> <entry> <mc-paid-until handle="2011-12-09">2011-12-09</mc-paid-until> </entry> </member-info>
What I'd like to do is to use a choose statement to show a payment form if the $today
parameter is later than the value of mc-paid-until
or to show a welcome message if $today
is the same as or earlier than mc-paid-until
.
Is this something the utility can do? If so, please could you suggest what the syntax would be.
Grazie :-)
I've not used this before but looking at the example it should be possible. The date-compare
template returns -1, 0 or 1 depending on whether the dates are before, equal or later than one another. You can put this result into a variable then run tests against it:
<xsl:variable name="is-later"> <xsl:call-template name="date-compare"> <xsl:with-param name="first" select="mc-paid-until"/> <xsl:with-param name="second" select="$today"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="$is-later > 1"> <!-- date is later --> </xsl:when> <xsl:otherwise> <!-- date is earlier --> </xsl:otherwise> </xsl:choose>
Not sure if I got the order the right way around, but the concept should work.
Ciao Stuart :)
Nick got it right, except for the test condition that should probably be:
$is-later = 1
or
$is-later > 0
Cheers!
Thanks again Nick. Grazie Simone. Tutto va bene :-)
Is there scope for equal to or earlier and equal to or later condition to be added to the utility at all?
Or has this been addressed?
I have a ticketing url that I only want to show once the date of tickets is upon us. At present I can only show the xsl before or after the date, not on the date.
Is this valid xpath? <xsl:when test="not($is-later >= 1)">
Looking at this in stackoverflow for ideas
What a dumb ass! Just add another when expression for = 0. Sorted, ignore me, as always :)
Arrrrgh, I completely missed to ignore you. That won't happen again! :-)
Create an account or sign in to comment.
A new XSLT utility, “Date utilities” is now available for download. Comments and feedback can be left here but if you discover any issues, please post it on the issue tracker.