# java.util.Date - Zeit auf 00:00 setzen



## norm (14. Sep 2011)

Hallo Community,

ich habe folgendes Problem:

Meine Swing Anwendung bietet die Möglichkeit, einen Zeitintervall auszuwählen.
Genaur gesagt, via JCalendar wird ein Start- und ein End Datum definiert.
Der JCalendar gibt die Auswahl in Form eines java.util.Date Objekts zurück. Mich interessiert nun nur das Datum. Allerdings enthält das Objekt default mäßig die aktuelle Uhrzeit.
Dies ist nun ein Problem für mich, da ich die Date Objekte in java.sql.Timestamp Objekte umwandle und in WHERE Klauseln benutze. Die SQL Statements sollen nun alle Spalten zurückgeben, auf die das Datum zutrifft. Alle Spalten auf die das Datum zwar zutrifft, die aber vor der aktuellen Uhrzeit liegen, werden leider nicht berücksichtigt.

Hat jemand nen Tip für mich? Stehe auf dem Schlauch :autsch:

Danke & viele Grüße


----------



## Deros (14. Sep 2011)

in sql heißt der befehl dafür trunc() und der wird auch von hibernate etc. unterstützt


----------



## jgh (14. Sep 2011)

einfach die Std und Min des übergebenen Tages auf 0 setzen, bspw mit dem GregorianCalendar.


```
Date date = new Date();// du bekommst es ja vom JCalendar zurück
		System.out.println(date);
		Calendar cal = new GregorianCalendar();
		cal.setTime(date);
		cal.set(Calendar.HOUR_OF_DAY, 0);
		cal.set(Calendar.MINUTE, 0);
		cal.set(Calendar.SECOND, 0);
		cal.set(Calendar.MILLISECOND, 0);
		date = cal.getTime();
		System.out.println(date);
```

PS: wenn du trunc() aufrust, kürzst du aber den übergebenen timpestamp ab...denke nicht das das funktioniert...lasse mich aber gerne eines besseren belehren.


----------



## norm (14. Sep 2011)

Sehr schön, genau das was ich gesucht habe! Danke :toll:


----------

