Dateクラス同士で時刻に関係なく年月日が一致するかどうかの判定
Dateクラスの日付だけ一致しているかどうか判定したくなったとき、いい感じにつかえるメソッドはないのか。
■Dateクラスでの比較のために用意されているのは以下のメソッド
メソッドの概要 | |
---|---|
boolean |
after(Date when) この日付が、指定された日付より後にあるかどうかを判定します。 |
boolean |
before(Date when) この日付が、指定された日付より前にあるかどうかを判定します。 |
int |
compareTo(Date anotherDate) 順序付けのために 2 つの Date を比較します。 |
boolean |
equals(Object obj) 2 つの日付が等しいかどうかを比較します。 |
なんだこれでいけるじゃん。と安易に使ってみると実は「日付」の中には時刻も含まれているので、Today today = new Today();と比較すると時刻まで考慮した結果が得られてしまう。
仕方がないのでダサいけれど、today.getYear(), today.getMonth(), today.getDate()と比較することに。とりあえずやりたいことはできたからいいか。とりあえずハマったことを記録。
と、書いてからtodayの時刻を00:00:00とか23:59:59に倒せばいいだけなことに気づいてしまった。普段プログラム書くことなんかないからこういうセンスなさ過ぎ。