Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在XSLT中向DateTime添加持续时间_Datetime_Xslt_Date_Time - Fatal编程技术网

在XSLT中向DateTime添加持续时间

在XSLT中向DateTime添加持续时间,datetime,xslt,date,time,Datetime,Xslt,Date,Time,在XSLT中,我想将XML文档转换为另一个文档。旧文档中有一些日期和时间不太容易使用。例如: <foo date="20110310" time="002000" duration="001500"/> 现在,我提取了所有信息,并能够将这些信息转换为ISO 8601日期: <xsl:variable name="begin" select='concat($begin_date_year, "-", $begin_date_month, "-", $begin_date_

在XSLT中,我想将XML文档转换为另一个文档。旧文档中有一些日期和时间不太容易使用。例如:

<foo date="20110310" time="002000" duration="001500"/>

现在,我提取了所有信息,并能够将这些信息转换为ISO 8601日期:

<xsl:variable name="begin" select='concat($begin_date_year, "-", $begin_date_month, "-", $begin_date_day, "T", $begin_time_hour, ":", $begin_time_minutes, ":", $begin_time_seconds)'/>
--> $begin = 2011-03-10T00:20:00

-->$begin=2011-03-10T00:20:00
在这段期间:

<xsl:variable name="duration" select='concat("PT", $dur_hour, ":", $dur_minutes, ":", $dur_seconds)'/>
--> $duration = PT00:15:00

-->$duration=PT00:15:00
如何将持续时间添加到DateTime以找出结束时间(以DateTime格式)

我已经考虑过添加单独的组件,但是这会涉及到大量的模操作,例如,如果我将15分钟添加到23:50,然后必须相应地调整一天,等等。

好的,现在我没有在我以前使用的函数参考中列出

add-dayTimeDuration-to-dateTime(xs:dateTime, xs:dayTimeDuration)
这也可以写成,例如:

xs:dateTime($begin) + xs:dayTimeDuration($duration)

为了完整起见,上还有一个实现


请参见

中的类似问题,即XPath 2.0,它通常是一个运算符,用于备份
xs:dateTime
xs:dayTimeDuration
值上的“
+
”运算符