- PR -

日時の計算

1
投稿者投稿内容
迷い猫
常連さん
会議室デビュー日: 2004/08/13
投稿数: 30
投稿日時: 2006-08-24 14:40
お世話になっております。

今回は日時の計算について、ご教授いただければと思い、
投稿させて頂きました。

質問内容-------------------------------------------------

a=2006/08/20 9:00
b=2006/08/21 10:10

この二つの日時の差をXX時間XX分という形で
求めたいのですが、やりかたがわかりません・・・

日付の計算は、
 ソース----------------------------------
//インスタンス取得
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();

// 時間フィールドクリア
c1.clear();
c2.clear();

// 比較する日付をセット
c1.set( year1, month1, day1 );
c2.set( year2, month2, day2 );
Date t1 = c1.getTime();
Date t2 = c2.getTime();

// 日付の差を求める
long diff = t1.getTime() - t2.getTime();

// 日付の差 diff はミリ秒になっているので、
// 日数に計算して表示する
System.out.println( ( diff / 1000 / 60 / 60 / 24 ) );
 ソース----------------------------------
で求めることが出来るのかなと思うですが、
時間をもとめるにはどういう風にしたらいいのか・・・

どうぞご教授お願い致します。


環境
WindowsXP
Tomcat5.0
Struts1.1
j2sdk1.4.1_02
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2006-08-24 15:56
引用:

迷い猫さんの書き込み (2006-08-24 14:40) より:

// 日付の差を求める
long diff = t1.getTime() - t2.getTime();

// 日付の差 diff はミリ秒になっているので、
// 日数に計算して表示する
System.out.println( ( diff / 1000 / 60 / 60 / 24 ) );
 ソース----------------------------------
で求めることが出来るのかなと思うですが、
時間をもとめるにはどういう風にしたらいいのか・・・


まさに記述していらっしゃるとおりの方法で計算できるはずですが。
商と剰余を混同してらっしゃる?
そんなこと無いって事でしたら、失礼しました。m(_ _)m
こんなんでどうでしょう。
コード:
long diff = t1.getTime() - t2.getTime();
long millisecond = diff % 1000L;
diff = diff / 1000L;
long second = diff % 60L;
diff = diff / 60L;

//時間までの計算なら、次でおしまい
long minute = diff % 60L; //minuteには剰余を格納
long hour = diff / 60L; //hourには商を格納

迷い猫
常連さん
会議室デビュー日: 2004/08/13
投稿数: 30
投稿日時: 2006-08-24 17:00
Edossonさんご回答ありがとうございます。

解決できました!!!
教えていただいたとおりに、
やってみました。

私の望通りの結果が返ってきました。

本当にありがとうございます。

初歩的な質問に丁寧に応えてくれて感謝します。
また、つまづいてしまったときには、
ご教授宜しくお願い致します。
1

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