首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xslt将小时和分钟(编号)转换为PT*H*M

xslt将小时和分钟(编号)转换为PT*H*M
EN

Stack Overflow用户
提问于 2022-06-23 22:22:08
回答 1查看 70关注 0票数 -1

xslt的新手。寻找xslt1.0来将客户在小时和分钟内输入的时间转换为这种格式的PT_H_M

代码语言:javascript
复制
 <cre:timeTotal>1</cre:timeTotal> to  <cre:timeTotal>PT1H</cre:timeTotal>
<cre:timeTotal>6.5</cre:timeTotal> to <cre:timeTotal>PT6H30M</cre:timeTotal>
<cre:timeTotal>6.5</cre:timeTotal> to <cre:timeTotal>PT30M</cre:timeTotal>

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2022-06-23 22:37:22

试一试如下:

代码语言:javascript
复制
<xsl:template match="cre:timeTotal">
    <xsl:variable name="h" select="floor(.)" />
    <xsl:variable name="m" select="60 * (. - $h)" />
    <xsl:copy>
        <xsl:text>PT</xsl:text> 
        <xsl:if test="$h">
            <xsl:value-of select="$h"/>
            <xsl:text>H</xsl:text>  
        </xsl:if>
        <xsl:if test="$m">
            <xsl:value-of select="$m"/>
            <xsl:text>M</xsl:text>  
        </xsl:if>
    </xsl:copy>
</xsl:template>

如果您的处理器碰巧支持EXSLT 日期:期限()扩展函数,您可以简单地:

代码语言:javascript
复制
<xsl:value-of select="date:duration(3600 * .)"/>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72737172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档