dポイントプレゼントキャンペーン実施中!

 実行時に2つの日にちを入力して、両者間の日数を数えるには、どうすればいいですか?例えば20002519 2002520と入力すると、1という結果が出るというように。

A 回答 (5件)

あまり詳しい事を言っても仕方が無いでしょうから


以下のソースをコンパイル(Javac TestDate.java
)して
実行(Java TestDate)してみてください。

import java.util.Calendar;
import java.util.Date;

public class TestDate{
public static void main(String[] args){
Calendar cal1 = Calendar.getInstance();

cal1.set(2002,5,19);
Date dat = cal1.getTime();
long date1 = dat.getTime();

Calendar cal2 = Calendar.getInstance();
cal2.set(2002,5,20);
long date2 = cal2.getTime().getTime();

long distance = (date2 - date1) / (1000*60*60*24);
System.out.println("差:"+distance);
}
}

参考URL:http://java.sun.com/products/jdk/1.2/ja/docs/ja/ …
    • good
    • 0
この回答へのお礼

回答と参考URLをどうもありがとうございます。ソースは大変勉強になりましたが、ランダムな日付を2つ入力して日数を計算したいのですが・・・。例を書かないほうが良かったみたいですね。すみませんでした。

お礼日時:2002/05/21 17:06

すみません。

Javaでの解答でしたね。エクセルと早とちりしてしまいました。取り下げます。
    • good
    • 0
この回答へのお礼

 いえいえ。お気になさらなくても、セルってことばでエクセルのことだと解るので大丈夫です。わざわざ訂正までどうも。

お礼日時:2002/05/19 23:34

sumisuさんと同じなのですが、例えば


A1セルに平成14年3月1日と入力。
B1セルに平成14年4月30日入力。
C1セルに式を「=B1-A1」と入れる。
そしてC1のセルの書式を「数値」にすること。←注意点
    • good
    • 0

DateFormat.parse()に食わせて出てきたDateオブジェクトのgetTime()メソッドでミリ秒単位に変換。


それらを引き算して1000*60*60*24で割る、ってのはどうでしょうか。

この回答への補足

DateFormat.parse()に食わせるってどういう意味ですか?Java初心者なものでよく解りません。

補足日時:2002/05/19 23:25
    • good
    • 0

単純に引き算をするのはどうでしょう。

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

 回答ありがとうございました。しかしこの方法だと、2001年5月18日から2002年5月19日の日数を計算すると凄い誤差が・・・。例えが悪くて、恐らく誤解させてしまったようです。すみません。

お礼日時:2002/05/19 23:25

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