• ベストアンサー

指定した日付が何日前なのかを求めたい!

こんばんは! 指定した日付が"2007/08/10"だとして、 今日から、何日前かをJavaで調べられますか? 色々と調べたのですが、 今日の何日前は"2007/08/10"いうことはすぐに見つかったのですが、 その逆である上記質問内容は見つかりません・・・。 ご存知の方がおりましたら、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • luckymako
  • ベストアンサー率55% (29/52)
回答No.2

これでどうでしょ? Calendar today = Calendar.getInstance(); Calendar target = Calendar.getInstance(); //年,月,日(月は1月を0とするのでマイナス1) target.set(2007, 8 - 1, 10); long diff = today.getTimeInMillis() - target.getTimeInMillis(); //ミリ秒を日に換算 long days = diff / (1000 * 60 * 60 * 24); System.out.println(days);

system0001
質問者

お礼

ご連絡、遅くなりまして申し訳ありません。 無事に解決致しましたので、ご報告です。 本当にありがとうございました!

その他の回答 (1)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

JavaのAPIにそのようなことが簡単にできるものがないか質問しているのでしょうか?それとも単純に計算の仕方がわからないのでしょうか? 前者であれば、回答は「ありません」です。 後者であれば、以下のような手順で求められます(やり方は色々あります)。 1.本日の0:00:00.000のミリ秒を求める(GregorianCalendarを使えば簡単)。 2.指定した日の0:00:00.000のミリ秒を求める(同上)。 3.1で求めた値から2で求めた値を引く。 4.3で求めた値を1日のミリ秒(1000ミリ秒×60秒×60分×24時間=86400000)で割る。 4で求まった値が差分の日数です。

system0001
質問者

お礼

ご連絡、遅くなりまして申し訳ありません。 無事に解決致しましたので、ご報告です。 本当にありがとうございました!

関連するQ&A