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

时间:2017-05-26 15:53:06

标签: xslt xslt-1.0

在XSL 1.0中更改时间格式时出现问题。

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

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

不确定它是否有所作为,但该字段存储为我的桌子上的STRING所以我认为我需要修剪最后三个字符,' :00 &#39 ;

感谢任何帮助

到目前为止

代码:

final Handler handler=new Handler();
handler.postDelayed(new Runnable() {

                        public void run() {
                            WebView webView = (WebView) findViewById(R.id.myWebview);
                            webView.loadUrl("javascript:speak('" + s + "');");

                        }
                    }, 5000 );

1 个答案:

答案 0 :(得分:1)

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

<xsl:value-of select="substring($time, 1, string-length($time) - 3)" />

$time是包含“9:00”的变量。

或者,您可以尝试在第二个:字符之前获取子字符串,这可以这样做:

<xsl:value-of select="concat(substring-before($time, ':'), ':', substring-before(substring-after($time, ':'), ':'))" />

后者适用于字符串字面意思为“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 />