我有一个 XML 属性,<EventDate>2011-06-16 08:00:00</EventDate>
我想提取 08:00:00
使用 XSLT。
我看到有 fn:hours-from-dateTime(datetime)
感谢w3schools .所以我想知道,为什么没有 fn:time-from-dateTime(datetime)
?
我该如何使用它?我当前的代码是:
<td><xsl:value-of select="@EventDate"/></td>
正确显示日期时间。然而:
<td><xsl:value-of select="hours-from-dateTime(@EventDate)"/></td>
不起作用。
最后,还有什么比做的更优雅的吗:
<td><xsl:value-of select="hours-from-dateTime(@EventDate)"/>:
<xsl:value-of select="minutes-from-dateTime(@EventDate)"/>:
<xsl:value-of select="seconds-from-dateTime(@EventDate)"/></td>
?
最佳答案
只需使用强制转换或构造函数:
<xsl:value-of select="xs:time(@dateTime)"/>
这假定属性@dateTime 是 xs:dateTime 类型的,作为模式处理的结果。如果您没有运行架构感知处理器,则需要先将其转换为 xs:dateTime:
<xsl:value-of select="xs:time(xs:dateTime((@dateTime))"/>
当然,日期和时间之间的空格必须是“T”才能起作用。
关于xml - 如何从 dateTime 值中获取时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6377549/