理解できない問題があります。24日を超えて追加すると、過去のシフトされた日付になります。
long start = System.currentTimeMillis();
long shift = 3600000 * 24 * 24;
System.out.println(new Date(start));
System.out.println(new Date(start + shift));
24日シフトの場合:
start - Wed Apr 18 11:37:12 CEST 2012
end - Sat May 12 11:37:12 CEST 2012
25日シフトの場合:
start - Wed Apr 18 11:37:55 CEST 2012
end - Sat Mar 24 17:35:08 CET 2012
なぜこのように動作するのか誰かにアドバイスしてもらえますか?ありがとうございました。