Convert a string to Date format in XSLT

date-format, transform, xml, xslt

Solution

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.

Update:

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

Problem

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?

Original source