我在 XML 文件中有一个日期(字符串)值,格式如下:
Tue Apr 17 03:12:47 IST 2012
我想使用 XSL 转换将字符串/日期转换为这种格式:
4/17/2012 03:12:47 AM
如何在我的 XSL 转换中做到这一点?
我在 XML 文件中有一个日期(字符串)值,格式如下:
Tue Apr 17 03:12:47 IST 2012
我想使用 XSL 转换将字符串/日期转换为这种格式:
4/17/2012 03:12:47 AM
如何在我的 XSL 转换中做到这一点?
如果您正在使用
XSLT 1.0 版本,使用EXSLT - date:format-date日期扩展
XSLT 2.0 版本,使用内置:Formatting Dates and Times日期扩展
但我的建议是
在 XML 上具有标准的 XSD 日期时间格式,在代码隐藏(即渲染时间)上,您可以根据需要进行格式化。
始终通过 XSLT 处理 XML,日期应为标准 XSD 格式。目前您的输入不是标准格式,因此会引发错误。
例子:
<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]')"/>
输出:
2012/10/21