8
votes

Trouver la différence entre 2 dates dans XSLT

Y a-t-il une façon de trouver une façon de trouver la différence en jours entre 2 dattes de XSLT? Si oui, pouvez-vous me signaler dans la bonne direction. Je reçois des dates dans le format MM / DD / AAAA.


3 commentaires

Êtes-vous coincé avec XSLT 1 ou pouvez-vous utiliser XSLT2?


Dans xslt 1.0, vous avez EXSLT DATE: DIFFÉRALE Mise en œuvre par JENI TENNISON AT exslt.org/date/functions/diffence/...


Je recommanderais d'utiliser XSLT 2.0 / XPATH 2.0 pour cela.


3 Réponses :


6
votes

Utilisez XSLT 2.0 (xpath 2.0) pour ce : xxx

Lorsque cette transformation est appliquée sur le document XML suivant: < / p> xxx

Le résultat correct (la différence est de 450 jours) est produit : xxx


3 commentaires

la seule solution là-bas qui m'a aidé avec des dattes sur OSB


Une autre réponse parfaite - Stackoverflow.com/Questtions/38604414/...


@RUDRAPRASADPRADHAN, oui, une solution est de suivre la réponse de Buffalo



11
votes

Une alternative plus agréable (et plus courte) pour XSLT 1.0 consiste à calculer les dates de Julian équivalentes et à les soustraits.

Modèle: P>

<xsl:variable name="dateInv" select="'20120406'" />
<xsl:call-template name="calculate-julian-day">
    <xsl:with-param name="year" select="substring($date,1,4)"/>
    <xsl:with-param name="month" select="substring($date,5,2)"/>
    <xsl:with-param name="day" select="substring($date,7,2)"/>
</xsl:call-template>


0 commentaires

7
votes

Cela pourrait être facilement effectué en utilisant l'expression suivante: xxx

par exemple: xxx

donnera le résultat de 12


0 commentaires