開始点は現在の時刻であり、最小値と最大値はユーザーが設定した特別な変数 (upperBound) によって計算されるため、時間間隔を作成しようとしています。したがって、コードは次のようになります。
private static int upperBound = 1440;
.....
Calendar calendar = Calendar.getInstance();
System.out.println("Now:\t\t\t" + calendar.getTime());
calendar.set(Calendar.MINUTE, -upperBound);
System.out.println("After the change:\t" + calendar.getTime());
出力は次のとおりです。
Now: Mon Jan 27 14:53:42 EET 2014
After the change: Sun Jan 26 14:00:42 EET 2014
しかし、私は(変更後)になると予想しています:Sun Jan 26 14:53:42 EET 2014
ここで何が問題なのですか?