# java.util.Date und java.sql.Timestamp Rundungsfehler



## sisela (11. Juni 2007)

Hallo Leute,

ich habe eine java.util.Date Variable und fülle sie mit System.currentTimeMillis(). Dann möchte ich diese in eine Microsoft SQL Datenbank (2005) schreiben und benutze dort den Typen datetime. Bevor ich den Wert in die Datenbank schreibe erzeuge ich mit: 
	
	
	



```
java.sql.Timestamp(date.getCreationTime().getTime())
```
 einen Timestamp. In der DB wird dieser nun gespecihert. Beim rauslesen mache ich dann folgendes:
	
	
	



```
new Date(resultSet.getTimestamp("datetime").getTime());
```
 Das Problem ist nun, das ich ca. in 4 von 5 Fällen kleine Rundungsfehler habe (ich denke es sind Rundungsfehler!) Es gibt immer Abweichungen von 1-2 ms. Kennt jemand dieses Phänomen oder mache ich irgendetwas falsch?

Gruß


----------



## limago (11. Juni 2007)

Gröhl! Suchts Du solche Dinger.... Dich stell ich als Tester ein


----------



## sisela (12. Juni 2007)

Hi Limago,

mag sein, dass dies ein bisschen penibel klingt aber es ist nun mal nicht die gleiche Zahl, die ich reingeschrieben habe. Wenn ich damit Berechnungen anstelle und diese Umwandlung immer und immer wieder mache, dann habe ich irgendwann auch spürbare Abweichungen, die sich dann wieder keiner Erklären kann.

Also die Frage bleibt offen...

Gruß


----------



## limago (12. Juni 2007)

Hi,

ich wolte Dir nicht zu nahe treten. Das Problem sehe ich wohl und finde Dich alles andere als penibel. Nichts desto trotz bin ich amüsiert. Falls ich heute Zeit habe, werde ich auch ein wenig zu diesem Problem googlen. 

Grüsse


----------

