- PR -

二つの日付の差を求めたいのですが。。。

投稿者投稿内容
yuki
会議室デビュー日: 2003/11/11
投稿数: 6
投稿日時: 2004-01-29 21:27
こんばんは。今、JavaAppletをやっているのですが、
わからないところがあり、質問させてください。

二つの日付の差を求めたいのですが。。。
どうやったらよいのかわからず困っています。
CalendarクラスかDateクラスを使えばできそうな気がするのですが、
どうやってもうまく行きません。
どのようにしたら良いのでしょうか?よろしくお願いします。
win-win
常連さん
会議室デビュー日: 2003/03/23
投稿数: 49
投稿日時: 2004-01-29 22:11
http://java-house.jp/ml/archive/j-h-b/049888.html
から始まるスレッドは、いかがでしょうか?


[ メッセージ編集済み 編集者: win-win 編集日時 2004-01-29 22:15 ]
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-01-29 22:28
Date curtime;
Date another;
long gap;

curtime = new Date();
another = new Date();

if( curtime.getTime() > another.getTime() ){
gap = Math.ceil(curtime.getTime() - another.getTime());
}
else {
gap = Math.ceil(another.getTime() - curtime.getTime());
}

こいつら使こて何とかできませんかね。。。
Keisuke
大ベテラン
会議室デビュー日: 2003/10/24
投稿数: 105
投稿日時: 2004-01-30 02:21
引用:

コブラさんの書き込み (2004-01-29 22:28) より:
Date curtime;
Date another;
long gap;

curtime = new Date();
another = new Date();

if( curtime.getTime() > another.getTime() ){
gap = Math.ceil(curtime.getTime() - another.getTime());
}
else {
gap = Math.ceil(another.getTime() - curtime.getTime());
}

こいつら使こて何とかできませんかね。。。



コンパイルエラーになるようです。
初心者さんが混乱するので、正確にお願いします。

あとMath.ceil を使用する理由が理解できないので、解説いただけないでしょうか?
Keisuke
大ベテラン
会議室デビュー日: 2003/10/24
投稿数: 105
投稿日時: 2004-01-30 02:27
コード:
long gap; 

long curtime = new Date().getTime(); 
long another = new Date().getTime(); 

gap = (long)Math.ceil((curtime > another)? (curtime - another): (another - curtime));


同じ意味なら、こう書いたほうが、頭よさげにみえるんちゃう?
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-01-30 09:18
またオノレか。
お前にはあのコードが最終完成形に見える訳か (プ > keisuke

とことん、おめでたいな。
それなら最後の「こいつら使こて何とかできませんかね。。。 」
この意味をどう捉える?

コンパイルも通るぐらい完成度が高いなら、これ以上何かを「使う」必要もあるまい。
逆に言えば、十分に条件を満たしてないから「最低これぐらいは使う」やろと。。まぁお前が
よくやる手やな(笑)

洞察力無いのぅ。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-01-30 09:20
しかしお前、そうやって一生人の揚げ足取る機会を伺いに、ここずっとうろついてる
んかね?

もっと時間の使い方考えた方がええな。
yuki
会議室デビュー日: 2003/11/11
投稿数: 6
投稿日時: 2004-01-30 10:04
みなさま返答をありがとうございます。

>win-winさん
そのスレッドは見させていただいたのですが。。。結局どうすればよいのかよくわかりません
でした。。。

>コブラさん、Keisukeさん
自分が未熟なせいでコブラさん、Keisukeさんには不快な思いをさせてしまって
申し訳ありませんでした。
コブラさんとKeisukeのソースを見ながら自分なりにコーディングしてみたのですが、
値がおかしくなってしまいます。。。

long curtime;
long another;
long gap;

curtime = new Date(2003,10,19).getTime();
another = new Date(2003,10,20).getTime();

if( curtime > another ){
gap = (long)Math.ceil(curtime - another);
}
else {
gap = (long)Math.ceil(another - curtime);
}
gap = gap / 1000*3600;
System.out.println("gap=" + gap);

おかしい部分がありますでしょうか?ぜひ、指摘の方をよろしくお願いたします。

スキルアップ/キャリアアップ(JOB@IT)