Ajouter une Durée de DateTime dans XSLT
Dans une transformation XSLT, je veux convertir un document XML vers un autre. L'ancien document a certaines dates et les heures qui ne sont pas vraiment facile à utiliser. Par exemple:
<foo date="20110310" time="002000" duration="001500"/>
Maintenant, j'ai extrait toutes les informations et a été en mesure de les convertir vers le format ISO 8601 dates:
<xsl:variable name="begin" select='concat($begin_date_year, "-", $begin_date_month, "-", $begin_date_day, "T", $begin_time_hour, ":", $begin_time_minutes, ":", $begin_time_seconds)'/>
--> $begin = 2011-03-10T00:20:00
Et pour la durée:
<xsl:variable name="duration" select='concat("PT", $dur_hour, ":", $dur_minutes, ":", $dur_seconds)'/>
--> $duration = PT00:15:00
Comment puis-je ajouter la durée de l'DateTime afin de savoir la fin (dans un format DateTime)?
J'ai déjà pensé à l'ajout de composants individuels, mais cela impliquerait beaucoup de bidouiller avec des modules, par exemple si j'ai ajouté 15 minutes à 23:50, et d'avoir ensuite à régler le jour en conséquence, etc.
OriginalL'auteur slhck | 2011-03-11
Vous devez vous connecter pour publier un commentaire.
Bon, maintenant, je trouvé une fonction qui n'était pas répertoriée dans la référence de fonction que j'ai utilisé avant.
Cela pourrait aussi être écrit, par exemple, que:
+
" opérateur surxs:dateTime
etxs:dayTimeDuration
valeursOh, je ne pensais pas que cela fonctionne si facilement.
OriginalL'auteur slhck
Juste pour être complet, il y a aussi un implementaton sur http://www.exslt.org/date/functions/add/date.add.html
Voir une question similaire à xslt - soustraction jours
OriginalL'auteur wimh