Here's a way to peform a date comparison in the XSLT definition of a data view web part:
<xsl:if test="number(translate(substring-before(ddwrt:FormatDate(@Date_x0020_Raised ,1053 ,5), ' '), '-', ''))+2 < number(translate(substring-before(ddwrt:TodayIso(), 'T'), '-', ''))">
<img src="_layouts/images/ewr210s.gif" />
</xsl:if>
This compares the date in the "Date Raised" field with the current date, and if the "Date Raised" is more than 2 days ago then an image is displayed.
Tuesday, June 26, 2007
Subscribe to:
Post Comments (Atom)
6 comments:
Thank you so much! :-)
Thankyou! This was hard to find online
I don't think the comparison is correct between month end and month start.
i.e. Between Jan31 and Feb01
((20080131 + 2) < 20080201) is true when there's only 1 day in between.
My bacon has been saved TodayIso(), sir, and you are the one that saved it. Many thanks.
Thanks for this post. I needed to compare the current date to the date a year ago. I was able to adapt your code to do this as follows.
This sample code compares a field called "Last Updated" plus one year to today's date. If the last update was more than a year ago, make it red. It only compares dates if the field is not blank.
<xsl:if test="normalize-space(@Last_x0020_Updated) != '' and concat(substring(@Last_x0020_Updated,1,4)+1,substring(@Last_x0020_Updated,6,2),substring(@Last_x0020_Updated,9,2)) < concat(substring-before(ddwrt:TodayIso(),'-'),substring(ddwrt:TodayIso(),6,2),substring(ddwrt:TodayIso(),9,2))">background-color: #FF0000;</xsl:if>
It formats the date so if the last update was October 22, 2007 and today is November 24, 2008, it will compare 20081022 to 20081123.
What I would really find helpful is a julian date format option so you could compare dates as numbers.
Thanks. Here is one that helped me get the expired values for a data view:
Post a Comment