Long addiert zu Datum - wie?

Von: , Frage gestellt am Fr, 14. Mai 2004

Hallo,

Ich habe ein Long (z.B. 44, ein Zeitfenster in stunden).
Dieses will ich zum aktuellen Datum hinzufügen, so dass ich als ergebnis ein neues datum (nicht ganz genau übermorgen) habe; notfalls geht auch ein String, der das neue datum irgendwie repräsentiert.

Leider habe ich keinen Schimmer, wie ich das mache.

Kann mir jemand sagen, wie es geht?
Danke,
Jan

2 Antworten zu dieser Frage

  1. Antwort von nach 32 Minuten 1 hilfreich
    Re: Long addiert zu Datum - wie?

    Hi. Ich habe ein Long (z.B. 44, ein Zeitfenster in stunden).
    Dieses will ich zum aktuellen Datum hinzufügen, so dass ich
    als ergebnis ein neues datum (nicht ganz genau übermorgen)
    habe;
    Kein Problem:

    java.util.Date today = new java.util.Date();
    java.util.Date tomorrow = new java.util.Date();
    long oneSecond = 1000;
    long oneMinute = oneSecond * 60;
    long oneHour = oneMinute * 60;
    long oneDay = oneHour * 24;
    tomorrow.setTime(today.getTime() + oneDay);

    wäre zum Beispiel +1 Tag auf heute - Nur als Beispiel, dass du siehst, dass Zeitangaben intern in Millisekunden (seit 1.1.1970) gerechnet werden.

    Hoffe das hilft,

    J.P.Jarolim

  2. Antwort von nach 33 Minuten 2 hilfreich
    Re: Long addiert zu Datum - wie?

    Ich habe ein Long (z.B. 44, ein Zeitfenster in stunden).
    Dieses will ich zum aktuellen Datum hinzufügen, so dass ich
    als ergebnis ein neues datum (nicht ganz genau übermorgen)
    habe; notfalls geht auch ein String, der das neue datum
    irgendwie repräsentiert.
    Mal angenommen es gibt ein Objekt oldDate vom Typ java.util.Date:

    long diff = 44 * 60 * 60 * 1000;
    Date newDate = new Date(oldDate.getTime() + diff);
    


    Bei diff würdest du die Anzahl Millisekunden berechnen, deswegen * 60 * 60 * 1000, sofern es sich bei den 44 um Stunden handelt.

    Eine andere Lösung, die vielleicht noch eleganter wäre, wäre diese:

    Calendar cal = Calendar.getInstance();
    cal.setTime(oldDate);
    cal.add(Calendar.HOUR_OF_DAY, 44);
    Date newDate = cal.getTime();
    


    Grüße
    Bruno

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!