2つのCalendarクラスを比較して、日数差を取得する


異なるCalendarクラスの、経過した日数を調べたいときってありませんか?
そういうときに便利なメソッドです。

Calendar calendarNow = Calendar.getInstance();
Calendar calendarPast = Calendar.getInstance();
calendarPast.add(Calendar.MONTH, -3);

/**
 * 経過日数を取得する。
 */
int getDiffDays(Calendar calendar1, Calendar calendar2) {
	//==== ミリ秒単位での差分算出 ====//
	long diffTime = calendar1.getTimeInMillis() - calendar2.getTimeInMillis();

	//==== 日単位に変換 ====//
	int MILLIS_OF_DAY = 1000 * 60 * 60 * 24;
	int diffDays = (int)(diffTime / MILLIS_OF_DAY);

	return diffDays;
}

1つ目の引数の方が未来の日時だと正の値が返ってきます。
2つ目の引数の方が未来だと負の値が返ってきます。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください