私は問題を調査していて、比較演算子を使用したDateインスタンスの比較を含むいくつかの疑わしいコードに遭遇しました。例えば
def stamp = ... //Date
def offset = ... //Integer
def d = new Date(stamp.time + offset)
if (d < new Date()) {
...
}
このリソースは、上記が次と同等であることを示しています
def stamp = ... //Date
def offset = ... //Integer
def d = new Date(stamp.time + offset)
if (d.compareTo(new Date()) < 0) {
...
}
ただし、Datesに関するGDKのドキュメントにcompareTo
は、、、before
およびを使用して日付を比較する例しかありませんafter
。予期しない結果が発生したため、Datesで比較演算子を使用しないようにしたことを特に思い出しているようです。上記の2つのコード例は実際に同等ですか(つまり、GroovyのDatesで比較演算子を安全に使用できますか、または、、、およびのみを使用する必要がcompareTo
ありbefore
ますafter
)?
ありがとう!