- ベストアンサー
日付の比較をしたいのですが・・・。
当方JAVA初心者です。 質問させてください。 日付の比較をして、差を求めたいのですが、 ------------------------------------ Ex)2004/6/4(システム日付)と 2004/6/9で日付を比較し、 「差は5日」という結果を求めたい ------------------------------------ カレンダクラスのafterやbeforeは、前か後ろかしか 判断できないですよね? そこで、簡単に日付を比較し差を求めるというやり方はあるんでしょうか? それとも年月日を崩すなどして計算しないといけないのでしょうか? 過去にこのような質問があったらすいません。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんなんでどうでしょうか?(^^) //サンプル import java.util.*; class Test{ public static void main(String args[]){ Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); long x; int y; cal1.set(2004,5,4); cal2.set(2004,5,9); //方法1 x = cal2.getTimeInMillis() - cal1.getTimeInMillis(); x = x / (24 * 60 * 60 * 1000); //方法2 y = cal2.get(Calendar.DAY_OF_YEAR)-cal1.get(Calendar.DAY_OF_YEAR); System.out.println(x); System.out.println(y); } }
その他の回答 (1)
- chi-kon
- ベストアンサー率43% (58/132)
longでシリアル値に直して 差分をだす。 その差を1000で割ると秒差 さらに60で割ると分差 さらに60で割ると時差 さらに24で割ると日差 が求まるのではないでしょうか。
お礼
やはり一度シリアル値に直すなどしないといけないのですね。ありがとうございました。
お礼
サンプルありがとうございます! 方法2の方がコード少なくてヨイんですかね? JAVAだけでなくPGも初心者なもんで・・・。 ありがとうございました。