I have a date(string) value in an XML file in this format:
Tue Apr 17 03:12:47 IST 2012
I want to use XSL transformation to convert the string/date into this format:
4/17/2012 03:12:47 AM
How can I do that in my XSL transform?
If you are using
XSLT 1.0 version, use EXSLT - date:format-date date extension
XSLT 2.0 version, use built-in: Formatting Dates and Times date extension
But my suggestion is to
Have a standard XSD datetime format on XML, on the code-behind (that is, on rendering time) you can format as you like.
Always XML to process through XSLT, dates should be in standard XSD format. Currently your input is not in standard format so that it throws error.
Example:
<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]')"/>
OUTPUT:
2012/10/21