Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
public static void main(String[] args) {
long FIVE_MINUTES_MS = 5 * 60 * 1000;
Date date = new Date();
long stamp = date.getTime();
stamp-= FIVE_MINUTES_MS;
SimpleDateFormat sdf = new SimpleDateFormat("H:mm");
System.out.println(sdf.format(new Date(stamp)));
}
Wenn das ganze variabel sein soll (bspw. die abzuziehenden Werte sind nicht vorher bekannt, weil sie in einer GUI eingegeben werden) oder die Operationen komplizierter sind (bspw. "ziehe 2Tage, 3 Stunden und 7 Minuten ab) ist Calendar die bessere Wahl. Ich finde den aber immer etwas sperrig und mehr Resourcen als Date frisst der auch. Bei so einfachen Operationen, wie der von Dir gewünschten, rechne ich immer mit Millisekunden und Konstanten. Bei Date muss man noch beachten, dass es eigentlich immutable sein soll. Sprich man muss ein neues Date mit dem gewünschten geänderten Wert erzeugen. Etwa so:
Java:
private static final SimpleDateFormat udf = new SimpleDateFormat("H:mm");
private static inal int FIVE_MIN_MILLIS = 30000;
private static Date subtractFiveMinutes(final Date date) {
return new Date(date.getTime()-FIVE_MIN_MILLIS);
}
public String printFiveMinsEarlier(final Date date) {
final Date fiveMinsEarlier = subtractFiveMinutes(date);
return udf.format(fiveMinsEarlier);
}
Das ganze ist natürlich recht statisch. Du könntest Dir noch Methoden/Konstanten für das Abziehen von variablen Minuten/Stunden/Tagen schreiben oder dann doch Calendar verwenden.
[EDIT]
Holla, da war ich ja ma richtig langsam :autsch:.
[/EDIT]