J'ai une valeur de date (chaîne) dans un fichier XML dans ce format:
Tue Apr 17 03:12:47 IST 2012
Je souhaite utiliser la transformation XSL pour convertir la chaîne/date dans ce format:
4/17/2012 03:12:47 AM
Comment puis-je faire cela dans ma transformation XSL?
Si vous utilisez
Version XSLT 1.0, utilisez EXSLT - date: format-date extension de date
Version XSLT 2.0, utilisez intégré: Formatage des dates et heures extension de date
Mais ma suggestion est de
Avoir un format XSD datetime standard sur XML, sur le code-behind (c'est-à-dire sur le temps de rendu), vous pouvez formater comme vous le souhaitez.
Toujours XML pour traiter via XSLT, les dates doivent être au format XSD standard. Actuellement, votre entrée n'est pas au format standard de sorte qu'elle génère une erreur.
Exemple:
<xsl:variable name="dt" as="xs:dateTime" select="xs:dateTime('2012-10-21T22:10:15')"/>
<xsl:value-of select="format-dateTime($dt, '[Y0001]/[M01]/[D01]')"/>
SORTIE:
2012/10/21