# Datum addieren



## Carsa (15. Jan 2009)

Guten Morgen. Ich stehe mal wieder vor einem problem. Und zwar möchte ich in IReport eine Summe aus dem Datum bilden. Also so in etwa. Vom 12.01.2009 - 16.01.2009 = anzahl tage. Das ganze wollt ich als Variable machen. Aber ein Datum läßt sich ja nicht summieren da es ja kein Double ist sondern Date. Hat jemand einen Tipp oder Lösung. Danke schon mal für eure hilfe.

Carsa


----------



## SlaterB (15. Jan 2009)

innerhalb von Java musst du da selber rechnen, z.B.


```
private static final long MILLISECONDS_OF_DAY = 1000 * 3600 * 24;
    private static final long MILLISECONDS_OF_DAY_HALF = MILLISECONDS_OF_DAY / 2;

    /**
     * Berechnet die Differenz in Anzahl Tagen bezogen auf das Start- und Enddatum.
     * 
     * @param _fromDate
     *            Startdatum
     * @param _toDate
     *            Enddatum
     * 
     * @return Anzahl Tage von Start- bis Enddatum
     */
    public static int daysDiff(Date fromDate, Date toDate)
    {
        // ist sicher gegenüber Sommer-/ Winterzeitwechsel, da 12 Stunden aufaddiert
        // werden, bevor die Zahl der Tage (ab-)gerundet wird
        long days = (toDate.getTime() - fromDate.getTime() + MILLISECONDS_OF_DAY_HALF) 
                          / MILLISECONDS_OF_DAY;
        return (int)days;
    }
```
oder höhere externe Libraries wie
http://joda-time.sourceforge.net/


----------



## Carsa (15. Jan 2009)

Hi Slater. Danke erstmal für deine Antwort. Leider gehen so Komplexe codes in IReport nicht. Die Datumswerte hole ich ja aus der Datenbank. 

Carsa


----------

