2010-01-11 56 views
1

我试图从4月6日开始计算一年。XSLT:根据非1月开始计算年份

使用EXSLT,我可以根据正常一月开学拿到年终:

date:formatDate(date:add(date:date(), '-P6Y'), 'yyyy') 

我该怎么做相同的,但一年4月开始第6位。

谢谢。

+0

无法启动定期一年减去更多4个月和6天呢? – 2010-01-11 10:31:35

+0

这似乎工作-P6Y4M6D – Josh 2010-01-11 10:45:02

+0

@Rubens Farias:闰年呢? – Tomalak 2010-01-11 12:24:54

回答

0

像这样的事情

<xsl:choose> 
    <xsl:when test="(date:month-in-year() = 4 and date:day-in-month() <= 6) or (date:month-in-year() < 4)"> 
    <xsl:value-of select="date:formatDate(date:add(date:date(), '-P7Y'), 'yyyy')" /> 
    </xsl:when> 
    <xsl:otherwise> 
    <xsl:value-of select="date:formatDate(date:add(date:date(), '-P6Y'), 'yyyy')" /> 
    </xsl:otherwise> 
</xsl:choose> 
相关问题