2013-07-25 107 views
0

早些时候,我有一个字段需要获取当前日期,所以对于这种情况,我使用了以下内容。xslt比当前日期早90天

<value><xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('dd-MM-yyyy'), java:java.util.Date.new())"/></value> 

现在,我已经要求我必须从今天起获得不超过90天的日期。请建议我可以根据上面的代码完成,或者您有任何其他方式使用xslt?

+0

您使用的是哪个版本的XSLT? XSLT 2.0有一个'xs:date'数据类型和对该类型的操作,如增加或减少持续时间。 –

回答

0

嘿感谢所有您的答复。我已经使用下面的代码解决了这个问题。

<xsl:value-of select="java:com.Utilities.getDeletedDate()" /> 

在Utilities类中我添加了一个方法如下。

public static String getDeletedDate() { 

    Calendar cal = Calendar.getInstance(); 
    cal.add(Calendar.DAY_OF_YEAR, -99); 
    Date date = cal.getTime(); 
    DateFormat secondFormatter; 
    String formatedDate = null; 
    secondFormatter = new SimpleDateFormat("yyyy-MM-dd"); 
    formatedDate = secondFormatter.format(date); 
    return formatedDate; 
} 

这对我来说工作得很好。

1

如果您正在使用XSLT 2.0,您可以使用此:

<xsl:value-of select="current-date() - xs:dayTimeDuration('P90D')" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"/>