# einen Tag addieren



## MamaCarina08 (10. Nov 2009)

Hello liebe Experten,

nachdem ich gestern keine Antworten mehr bekommen hab, probier ich es heute nochmal auf einem anderen Weg:

ICh hab eine Datums-feld (Dateend), und würde gerne unter bestimmten Voraussetzungen einen Tag dazu addieren.
Nur leider weiß ich nicht genau, wie ich das anstelle.

Hab es schon auf mehrere Arten probiert z.b.


```
(!$V{rwDaTi_End}.before($V{rwDaTi_Begin}) && ($F{TYPE}.toLowerCase().equals($P{BauTyp_AlD}.toLowerCase()) ? 

(new Boolean
(new Long
(new Long
(new SimpleDateFormat("d.MM.yyyy").parse($F{DATEEND}).getTime()).longValue() - 
	new Long
(new SimpleDateFormat("d.MM.yyyy").parse($F{DATEBEGIN}).getTime()).longValue() 
				).longValue()
				> new Long(86400000).longValue()
			).booleanValue()
			? (new SimpleDateFormat("d.MM.yyyy").parse($F{DATEEND}).getTime()).longValue() +  new Long(86400000).longValue()
			: new SimpleDateFormat("dd.MM.yyyy").format(new SimpleDateFormat("d.MM.yyyy").parse($F{DATEEND}))
			)
					
		: new SimpleDateFormat("dd.MM.yyyy").format($V{rwDaTi_End})


) 
[/Java]

leider funktioniert das nicht (wie mir ein Forum-Schreiber mitgeteilt hat, funktioniert die Methode beim Typ Long nicht... jetzt steh ich völlig :bahnhof: da...
Zähle zu den absoluten Java-Anfängern (bzw. Jasper, iReport-Newbies)

BITTE um HILFE!
Danke
```


----------



## faetzminator (10. Nov 2009)

http://www.java-forum.org/java-basics-anfaenger-themen/91073-tag-addieren.html :noe:


----------



## MamaCarina08 (10. Nov 2009)

:bahnhof:
Das war meine Frage von gestern, auf die ich KEINE ausreichende Antwort erhalten habe!!!


----------



## faetzminator (10. Nov 2009)

Ist denn jeweils eine Frage um Mitternacht abgeschlossen? vote4close


----------



## Landei (10. Nov 2009)

Wo genau tritt welcher Fehler auf? 

Wenn du eine Zahl als long markieren willst, stelle einfach ein L dahinter, also z.B. 86400000L


----------



## MamaCarina08 (10. Nov 2009)

ok, vielleicht war meine Anfrage ein bisschen ungenau:

ich hab ein Feld, in dem ein Datum steht. (DATEEND)
und würde es gerne so umwandelt, dass ich einen Tag dazu addieren kann... also 
Dateend + 86400000ms
in welches Format muss ich Dateend umwandeln bzw. wie mach ich das??


----------



## bygones (10. Nov 2009)

MamaCarina08 hat gesagt.:


> Dateend + 86400000ms


sind die 864....ms ein Tag ?

egal..

getTime


----------



## MamaCarina08 (10. Nov 2009)

Ja, die 86400000ms sind ein Tag!

DANKE für die Seite...hoff ich werd fündig!
(wieso hat mir google die Seite nicht angezeigt ????:L hmmm...)


----------



## MamaCarina08 (10. Nov 2009)

faetzminator hat gesagt.:


> Ist denn jeweils eine Frage um Mitternacht abgeschlossen? vote4close



Nein, das nicht, aber wenn keine Antwort kommt, versucht man halt, die Frage neu zu formulieren bzw. neu zu posten, um neue Antworten zu bekommen


----------



## MamaCarina08 (10. Nov 2009)

Biiiiiiiiiiiiitte, kann mir denn keiner helfen???

ich möchte in iReport (jasperreports) ein Feld so konvertieren, dass ich einen Tag dazuaddieren kann und das neue Feld dann wieder als String ausgeben!
also:
$F(DATEEND) ist mein Feld
und ungefähr so hätt ich es gern:

new String
(new Double($F{DATEEND}.doubleValue()) + new Double (86400000).doubleValue())

aber er schreibt mir dauernd fehlermeldung...u.a. dass er double nicht in string konvertieren kann und der operator + undefined ist....

gibts denn keine Experten für den Mist???


----------



## L-ectron-X (10. Nov 2009)

Einen Tag "weiterschalten" kannst du auch mit der roll()-Methode aus java.util.Calendar.

Welchen Datentyp hat diese Variable? 
	
	
	
	





```
$F{DATEEND
```


----------



## bygones (10. Nov 2009)

[c]new String(new Double($F{DATEEND}.doubleValue()) + new Double (86400000).doubleValue())[/c]
immer mit der Ruhe... und dann ebenso in Ruhe mal die Klammerung betrachten.. du willst hier Doubles mit doubles addieren und das geht nun mal nicht - ausserdem kennt String kein Konstruktor mit double...

ist in dem Feld ein String denk ich mal ?!

[c]String.valueOf(Double.parseDouble(FIELD) + 8640000)[/c]

sachen die man einfach ueber die JavaApi findet


edit: richtig... GregorianCalendar (Java Platform SE 6) ist natuerlich wesentlich besser - wobei das natuerlich auch seine schwaechen hat ...

oder groovy auslagern [c]println Date.parse("dd.MM.yyyy", "31.12.2009").next()[/c]


----------

