【问题标题】:Convert a string to Date format in XSLT在 XSLT 中将字符串转换为日期格式
【发布时间】:2013-05-29 08:16:02
【问题描述】:

我在 XML 文件中有一个日期(字符串)值,格式如下:

Tue Apr 17 03:12:47 IST 2012

我想使用 XSL 转换将字符串/日期转换成这种格式:

4/17/2012 03:12:47 AM

如何在我的 XSL 转换中做到这一点?

【问题讨论】:

  • 您可以/将使用哪个 xslt 版本(1.0、2.0)?
  • 其实我都可以用。更喜欢 1.0。

标签: xml xslt transform date-format


【解决方案1】:

如果你正在使用

但我的建议是

在 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

【讨论】:

  • 我正在使用 format-dateTime 函数 (2.0),它给了我这个错误:'无效的 dateTime 值“Tue Apr 17 03:12:47 IST 2012”(非数字年份组件)'
  • @RohitGupta:展示你的 xslt
  • &lt;Date&gt;&lt;xsl:value-of select="format-dateTime(CreatedDate, '[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01]')" /&gt;&lt;/Date&gt;
  • @SivaCharan 我在 XSLT 转换过程中遇到错误:调用了未知的 XPath 扩展函数。 exaption,也许你知道问题出在哪里
  • @ArturKeyan:最好发布一个带有详细错误消息和 XSLT 的新问题。以便我可以帮助您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
  • 1970-01-01
  • 2014-01-18
  • 2019-10-13
相关资源
最近更新 更多