Tôi đang điều tra một vấn đề và chạy trên một số mã đáng ngờ liên quan đến so sánh các cá thể Ngày sử dụng toán tử so sánh. ví dụ.Sử dụng toán tử so sánh Groovy với đối tượng Ngày
def stamp = ... //Date
def offset = ... //Integer
def d = new Date(stamp.time + offset)
if (d < new Date()) {
...
}
This tài nguyên chỉ ra ở trên là tương đương với sau
def stamp = ... //Date
def offset = ... //Integer
def d = new Date(stamp.time + offset)
if (d.compareTo(new Date()) < 0) {
...
}
Tuy nhiên, GDK documentation on Dates chỉ có các ví dụ so sánh số ngày sử dụng compareTo
, before
, và after
và tôi dường như nhớ lại đặc biệt tránh sử dụng sự so sánh các toán tử vào Ngày do trải nghiệm có kết quả không mong muốn. Hai ví dụ trên có thực sự tương đương hay không (tức là, tôi có thể sử dụng toán tử so sánh một cách an toàn vào Ngày tháng trong Groovy hay tôi chỉ sử dụng compareTo
, before
và after
)?
Cảm ơn!
Tôi đã thử nghiệm với điều này trong GroovyConsole, nhưng sợ tôi có thể thiếu một số trường hợp góc liên quan đến các thành phần khác nhau của một Ngày. –
cách biết hai giá trị ngày là như nhau? là nó giống như d.compareTo này (new Date()) == 0)? thankx – danielad