2

「yyyy-MM-ddHH:mm:ss」形式の日付が特定の時間数よりも古いことを(どのXPath式で)確認するにはどうすればよいですか?SaxonのXPathExpression(XPath 2.0、Java 1.7)を使用して検証する必要があります。電話するとき...

xpathExpression.evaluate(doc, XPathConstants.BOOLEAN)

...たとえば、日付が5時間よりも新しい場合は、trueを返します。

日付がこのXMLのdt属性にあるとしましょう。

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

ありがとうMarkus

4

2 に答える 2

0

要点を知りたい場合は、部分文字列を使用して時間を自分で計算し、時間の値を現在の日時と比較できます。

分析している時間:

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 はチェックしている過去の時間数です。ただし、これは2つの時間が同じ日であることを考慮しているため、両方を確認したい場合は、日付の値で同じことを行う必要があるため、Slanecの行に沿って何かを行った方がよいでしょう示唆しています。

于 2012-04-04T16:20:58.360 に答える