JSF Kalendertool Datum und Uhrzeit addieren

felix.pdm

Mitglied
Hallo,
ich würde gern ein Datum und eine Uhrzeit addieren. Allerdings kommt da bei mir immer eine Stunde zu wenig dabei heraus.

Java:
Date startzeit = new Date();
long time = reportForm.getZeit().getTime(); 
startzeit.setTime(reportForm.getDatum().getTime() + time);
report.setStartzeit(startzeit);

time hat die richtige Studenanzahl, aber wenn ich das addiere kommt eine Stunde zu wenig raus. Ist das irgendein Zeitzonen/Sommerzeit-Problem?

Hoffe es kann jemand helfen. Danke
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
Zeitzone + Sommerzeit dürften die richtigen Stichworte sein, ja,
jetzt im Winter liegt Deutschland MEZ eine Stunde hinter England GMT, im Sommer sogar zwei Stunden

was ist denn reportForm, wie kommen da die Zeiten rein?
wenn mit SimpleDateFormat aus Text geparst, dann kann es helfen dort die Zeitzone einzustellen,

ansonsten z.B. eigene Korrekturstunden einbauen
 

felix.pdm

Mitglied
reportForm ist die ManagedBean die die Zeiten aus einem JSF-Formular bekommt. Im Formular ist auch die Zeitzone definiert.
Da das ganze dann nur geprüft wird und in die Datanbank geschrieben wird, kann ich es auch nicht mit SimpleDateFormat formatieren.
Wie soll ich das mit der Korrekturstunde machen? Das würde ja dann in der Sommerzeit wieder falsche Zeiten ergeben oder nicht?
 

felix.pdm

Mitglied
Java:
startzeit.setTime(reportForm.getDatum().getTime() + reportForm.getZeit().getTime());
Calendar gc = new GregorianCalendar(TimeZone.getTimeZone("CET"));
gc.setTimeInMillis(reportForm.getDatum().getTime() + reportForm.getZeit().getTime());
gc.setTimeZone(TimeZone.getTimeZone("CET"));
report.setStartzeit(gc.getTime());

Habs jetzt mal mit TimeZone und GregorianCalendar probiert. Leider mit dem gleichen Ergebnis.
 

nrg

Top Contributor
schau halt mit der Methode TimeZone#inDaylightTime ob Sommerzeit ist. Wenn ja nimmst du keine Korrektur vor, wenn nein addierst du eben eine Stunde (oder halt umgekehrt, je nach dem :))
 
S

SlaterB

Gast
wenn Sommer dann 2 Stunden, sonst eine,

wahrscheinlich gibt es aber zu ManagedBean auch offizielle Eisntellungen um sowas zu behandeln,
ist die Trennung in Datum + Uhrzeit überhaupt Standard oder hast du da irgendetwas gebastelt?
 

felix.pdm

Mitglied
Ich habe ein Eingabefeld fürs Datum, das mit nem Kalendertool ausgewählt werden kann und ein Feld für die Uhrzeit.

Ich verstehe aber nicht warum ich in der Winterzeit eine Stunde addieren muss, obwohl ich CET eingestellt habe.
 
S

SlaterB

Gast
dass CET nicht GMT ist habe ich ja schon geschrieben, ob das der Grund ist sei mal dahingestellt,

was ist eigentlich mit den beiden Bestandteilen der Addition einzeln, was ergeben die jeweils für sich,
ist nur in einem der beiden ein Fehler?

generell musst du aber wohl auf einen JSF-Experten warten der das auch einsetzt oder entsprechende Foren suchen,
habe jedenfalls schonmal den Titel angepasst
 
S

SlaterB

Gast
ok, England hat also auch Sommerzeit,
dann werde ich in Zukunft diese genauere Darstellung weiterverbreiten
 

Ähnliche Java Themen

Neue Themen


Oben