2013-11-21 2 views
2

У меня есть узел в моем файле XSLT, я хочу вычитать n часов.Вычитание n часов из DateTime в XSLT

<xsl:element name="DocDate"> 
<xsl:variable name="Date" select="'2013-11-21T11:41:25'"/> 
<xsl:variable name="Date_sub" select="substring($Date,12,19)" /> //Here i bring the hour (11:41:25) 
</xsl:element> 

Но теперь я хочу вычитать n часов, например, вычесть два часа. Мне нужно примерно следующее: Hour = (11:41:25) - (02:00:00) = (09:41:25). Некоторые предложения? Спасибо

Извините, я использую XSL 1.0.

+0

постановляет с этим способом: http://stackoverflow.com/questions/1575111/can- ан-XSLT-вставка-заместитель тока дата – Christian

ответ

0

Вы можете использовать функцию/дату добавления даты из EXSLT (http://exslt.org/date/functions/add/date.add.html).

XSL шаблон: http://exslt.org/date/functions/add/date.add.template.xsl

Пример добавить 2h к текущей дате:

<xsl:stylesheet version="1.0" 
    xmlns:date="http://exslt.org/dates-and-times" 
    extension-element-prefixes="date" 
    ...> 

    <xsl:import href="date.add.template.xsl" /> 

    ... 
    <xsl:call-template name="date:add"> 
     <xsl:with-param name="date-time"><xsl:value-of select="current-date()" /></xsl:with-param> 
     <xsl:with-param name="duration">PT2H</xsl:with-param> 
    </xsl:call-template> 
</xsl:stylesheet> 
Смежные вопросы