2010-01-11 5 views
1

J'essaie de calculer une année basée sur une année commençant le 6 avril.XSLT: Calcul de l'année basée sur un départ non janvier

En utilisant EXSLT je peux obtenir l'année en fonction d'un démarrage normal Janvier:

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

Comment puis-je faire la même chose, mais pour une année à partir du 6 Avril.

Merci.

+0

ne peut pas vous commencer par année régulière et soustrayez plus de 4 mois et 6 jours? –

+0

Cela semble fonctionner -P6Y4M6D – Josh

+0

@Rubens Farias: Qu'en est-il des années bissextiles? – Tomalak

Répondre

0

Quelque chose comme ça

<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> 
Questions connexes