从使用XPath的日期起验证时间2

如何验证格式为“yyyy-MM-dd HH:mm:ss”的日期是否早于特定的小时数?我需要使用Saxon的XPathExpression(XPath 2.0,Java 1.7)进行验证。当拨打电话...从使用XPath的日期起验证时间2

xpathExpression.evaluate(doc, XPathConstants.BOOLEAN) 

...我希望它返回true,如果日期比例如5小时更新。

比方说,该日期是在该XML的DT属性:

<msgs> 

<msg dt="2012-04-04 12:13:14"/>

</msgs>

感谢 马库斯

回答:

如果你想进入细节问题,你可以使用子计算时间你自己,然后与当前日期时间比较时间值:

一次你分析:

boolean(100*number(substring(//msgs/msg/@dt,12,2)) + 10*number(substring(//msgs/msg/@dt,15,2)) + 1*number(substring(//msgs/msg/@dt,18,2)) > (current time + t*100)) 

其中当前时间以相同方式计算,t是您检查的小时数。但是这是考虑到两次是在同一天,所以如果你想检查两个,你必须做日期值一样,所以你最好去与Slanec是什么提示。

回答:

真正的XPath 2.0解决方案是使用一个XPath 2.0表达式这样:

current-dateTime() - xs:dateTime('2012-04-04T12:13:14') 

lt

xs:dayTimeDuration('PT5H')

以上是 从使用XPath的日期起验证时间2 的全部内容, 来源链接: utcz.com/qa/262221.html

回到顶部