修剪dateTime差异中的额外字符

时间:2013-05-29 13:54:53

标签: xslt

希望你做得很好。 我有一个场景,我要计算dateTime字段和当前日期之间的差异。我可以计算差异,但只能采用dateTime格式。

我已经用这个xslt来计算差异b / w天数

<xsl:call-template name="timeDifference">
          <xsl:with-param name="date1"
                          select="$PrjOwnerFinishDate_OutputVar.result/ns1:SummaryPlannedFinishDate"/><!--input var-->
          <xsl:with-param name="date2" select="xp20:current-dateTime()"/>
        </xsl:call-template>

<xsl:template name="timeDifference">
    <xsl:param name="date1"/>
    <xsl:param name="date2"/>
    <xsl:value-of select="xsd:dateTime($date1) - xsd:dateTime($date2)"/>
  </xsl:template>

这会返回差异,但格式为:: -P26DT23H51M40S or P5DT8M20S

但我只想要那里的日子(如上例中的-26或5),包括'+'/' - '符号。即Trim 'P'以及'D'

之后的所有内容

我该怎么做?

day-from-dateTime()无效。在这方面你能帮我吗?

此致 RaviKiran

1 个答案:

答案 0 :(得分:0)

熟悉从持续时间(在减去两个dateTime值之后)中提取组件所提供的功能:http://www.w3.org/TR/xquery-operators/#component-extraction-functions,如http://www.w3.org/TR/xquery-operators/#func-days-from-duration