从使用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