Xslt 在XSL1.0中将字符串格式从9:00:00(H:MM:SS)转换为9:00(H:MM)

Xslt 在XSL1.0中将字符串格式从9:00:00(H:MM:SS)转换为9:00(H:MM),xslt,xslt-1.0,Xslt,Xslt 1.0,XSL 1.0中的时间格式更改有问题 我有一段时间: 9:00:00(HH:MM:SS) 但希望它显示为: 9:00(HH:MM) 不确定它是否有区别,但该字段在我的表中存储为字符串,因此我认为需要修剪最后三个字符,:00 谢谢你的帮助 迄今为止的代码: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL

XSL 1.0中的时间格式更改有问题

我有一段时间: 9:00:00(HH:MM:SS)

但希望它显示为: 9:00(HH:MM)

不确定它是否有区别,但该字段在我的表中存储为字符串,因此我认为需要修剪最后三个字符,:00

谢谢你的帮助

迄今为止的代码:

 <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:ms="urn:schemas-microsoft-com:xslt"
      xmlns:dt="urn:schemas-microsoft-com:datatypes">
<xsl:output method="html" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" />
<xsl:template match="/">


<xsl:for-each select="...">
    <xsl:value-of select="Prop[@prop_name = 'time']/@val" /><br />
</xsl:for-each>

</xsl:template>
</xsl:stylesheet>



假设字符串实际上是“9:00:00”,并且HH:MM:SS只是添加到问题中的标签,那么最简单的解决方案可能就是使用子字符串

<xsl:value-of select="substring($time, 1, string-length($time) - 3)" />
但是,如果字符串的字面意思是“9:00:00(HH:MM:SS)”,则后者可以工作

要将此应用于样式表,只需替换此

<xsl:value-of select="Prop[@prop_name = 'time']/@val" /><br />

用这个

<xsl:variable name="time" select="Prop[@prop_name = 'time']/@val" />
<xsl:value-of select="substring($time, 1, string-length($time) - 3)" />
<br />



感谢Tim C抽出时间回复。当前有:





下面的内容看起来正确吗

我已经修改了我的答案,以展示如何使我的答案适应您的XSLT。谢谢Tim C。我将测试并报告。感谢时间!
<xsl:variable name="time" select="Prop[@prop_name = 'time']/@val" />
<xsl:value-of select="substring($time, 1, string-length($time) - 3)" />
<br />