Xml 如何使用XPath获取两个日期之间的秒数

Xml 如何使用XPath获取两个日期之间的秒数,xml,xslt,xpath,wso2esb,Xml,Xslt,Xpath,Wso2esb,我正在与WSO2 ESB合作,我想知道如何在日期A和B之间获得借调。 基本上,我想计算系统时间和下午12点之间的时间。 你知道吗?我发现了如何仅使用Xpath获取天数而不获取秒数。 我受到Xpath的限制,因为我不能使用Java脚本 谢谢。基本方法是将两者转换为正确的xs:dateTime对象,然后计算差值。这将给您一个dayTimeDuration。除以1秒的dayTimeDuration,你就得到了以秒为单位的差值。例如: <property xmlns:xs="http://www.

我正在与WSO2 ESB合作,我想知道如何在日期A和B之间获得借调。 基本上,我想计算系统时间和下午12点之间的时间。 你知道吗?我发现了如何仅使用Xpath获取天数而不获取秒数。 我受到Xpath的限制,因为我不能使用Java脚本


谢谢。

基本方法是将两者转换为正确的xs:dateTime对象,然后计算差值。这将给您一个dayTimeDuration。除以1秒的dayTimeDuration,你就得到了以秒为单位的差值。例如:

<property xmlns:xs="http://www.w3.org/2001/XMLSchema" name="now" 
expression="concat(get-property('SYSTEM_DATE', 'yyyy-MM-dd'),'T',get-property('SYSTEM_DATE', 'HH:mm:ss')) "/>
<property xmlns:xs="http://www.w3.org/2001/XMLSchema" name="12pm" 
expression="concat(get-property('SYSTEM_DATE', 'yyyy-MM-dd'),'T12:00:00')"/>


<property xmlns:xs="http://www.w3.org/2001/XMLSchema" name="diff" 
expression="xs:dayTimeDuration(xs:dateTime(syn:get-property('now'))-xs:dateTime(syn:get-property('12pm'))) div xs:dayTimeDuration('PT1S')"/>

还请记住,一旦完成此操作,将synapse命名空间中的函数(如get属性)与普通xpath函数组合在一起的xpath表达式将需要使用前缀,如代码示例中所示。

看看这是否回答了您的问题:如果不是,添加更多细节。它给了我一些有趣的功能,但不是我想要的。谢谢你的时间,奥菲修斯找到了我想要的答案。这个答案和你在这里接受的答案是一样的。奥菲修斯的答案对我来说更容易理解,对不起,如果我的问题是重复的。这正是我想要的。非常感谢。
#synapse.xpath.dom.failover.enabled=true