2010-01-11 55 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> 
相關問題