- - PR -
javaの時間比較について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-03 18:26
お世話になります。
java初心者です。 javaで時間の比較を行うのに困っています。 現在時刻(HHmm)と比較する対象が4桁(24h)記述の為、4桁値を比較して何分差があるかというのが取れません。 具体的にいうと、1925(19時25分)と1831(18時31分)の間か何分か知りたいということになります。 現在時刻は、以下のコードで4桁で取れるのはわかっています。 Calendar cal = new GregorianCalendar(); SimpleDateFormat simpleDf = new SimpleDateFormat("HHmm"); System.out.println("現在時刻→" + simpleDf.format(cal.getTime())); 上記のコードで取得した1925とパラメータで受け取った1831を比較し、 この後どうすれば、間の分数がとれるでしょうか。 よろしくお願いします。 [ メッセージ編集済み 編集者: K5 編集日時 2006-08-03 18:42 ] [ メッセージ編集済み 編集者: K5 編集日時 2006-08-03 18:43 ] | ||||
|
投稿日時: 2006-08-03 18:36
Date#.getTime()で取得したlong値の差をとって
60000(ミリ秒)で割ってやればよいでしょう。 | ||||
|
投稿日時: 2006-08-03 18:50
getTime()で取得できるのは、 Date オブジェクトで表される、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数と書いてありました。 4桁数値をどこで使うのかよくわかりません。 すいません。もうちょっとヒントを頂けないでしょうか? | ||||
|
投稿日時: 2006-08-03 18:58
こんな感じで。
try { SimpleDateFormat format = new SimpleDateFormat("HHmm"); long time1 = format.parse("1825").getTime(); long time2 = format.parse("1831").getTime(); long diff = (time2 - time1) / 60000; System.out.println("差=" + diff); } catch (ParseException e) { e.printStackTrace(); } | ||||
|
投稿日時: 2006-08-03 19:50
vincent様
ありがとうございます。 頂いたコードで解決できました。 大変助かりました。 「format.parse("1825")」左記のように書くとは全然わかりませんでした。 ありがとうございました。 感謝です。 |
1