単に、時分秒の加算/減算ならば、Calendarクラスを使わないようにしています。
というのもCalendarオブジェクトの生成には、大きなコストがかかる(らしい)ので、使わなくて済むならば、使わない方向で。
例えば、現在時刻+3時間をあらわすDateオブジェクトを作るって場合、、
Calendarクラスを使うと、下記のようになると思いますが、
Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.HOUR, 3); Date date = calendar.getTime();
Calendarクラスを使わない場合は、下記のように書きます。
Date date = new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 3);
#実際は、DateUtil#addHour(long time, int hour)みたいな感じでユーティリティメソッドを作ったりします
来年の今日は?とか、次週といったように、年や月、週が入ってきたときは、Calendarクラスを使わないと面倒(可読性も落ちそう)なのでCalendarクラスを使ってます。