「平成」を感じるもの

当方JAVA初心者です。
質問させてください。

日付の比較をして、差を求めたいのですが、
------------------------------------
Ex)2004/6/4(システム日付)と
  2004/6/9で日付を比較し、
  「差は5日」という結果を求めたい
------------------------------------

カレンダクラスのafterやbeforeは、前か後ろかしか
判断できないですよね?
そこで、簡単に日付を比較し差を求めるというやり方はあるんでしょうか?
それとも年月日を崩すなどして計算しないといけないのでしょうか?
過去にこのような質問があったらすいません。

よろしくお願いいたします。

A 回答 (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);
}

}
    • good
    • 0
この回答へのお礼

サンプルありがとうございます!
方法2の方がコード少なくてヨイんですかね?
JAVAだけでなくPGも初心者なもんで・・・。

ありがとうございました。

お礼日時:2004/06/16 18:24

longでシリアル値に直して


差分をだす。

その差を1000で割ると秒差
さらに60で割ると分差
さらに60で割ると時差
さらに24で割ると日差
が求まるのではないでしょうか。
    • good
    • 0
この回答へのお礼

やはり一度シリアル値に直すなどしないといけないのですね。ありがとうございました。

お礼日時:2004/06/16 18:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報