アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんは!

指定した日付が"2007/08/10"だとして、
今日から、何日前かをJavaで調べられますか?

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

A 回答 (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);
    • good
    • 1
この回答へのお礼

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

お礼日時:2007/09/06 09:54

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で求まった値が差分の日数です。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/09/06 09:54

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