0

希望你一切都好。我有一个场景,我必须计算 dateTime 字段和当前日期之间的差异。我可以计算差异,但只能以 dateTime 格式计算。

我用这个 xslt 来计算 diff b/w days

<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()不管用。请您在这方面帮助我。

问候拉维基兰

4

1 回答 1

0

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

于 2013-05-29T14:49:56.810 回答