# SimpleDateFormat/Date



## PollerJava (29. Aug 2007)

Hallo,


ich habe einen String wie z.B.: 2007-08-29 08:59:22.89 und möchte diesen String in einen Timestamp umwandeln, daher mache ich folgendes:


```
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSS");    
...

Date date = sdf.parse("2007-08-29 08:59:22.89");
new Timestamp(date.getTime());
```

Wenn ich den Timestamp jetzt ausgebe, dann bekomme ich folgendes:


```
2007-08-29 08:59:22.089
```

also nicht 22.89 Sekunden sondern 22.089 Sekunden,
das kann ich mir nicht erklären, 
was kann ich da mchen??

herzlichen Dank für die Antworten!!!


----------



## tfa (29. Aug 2007)

Offensichtlich wird es als 89 Millisekunden interpretiert. 
"SSS" im Format-String steht für Millisekunden.

tfa


----------



## PollerJava (29. Aug 2007)

ja, das ist mir klar, aber wie kann ich es anstellen, dass ich 22.89 und nicht 22.089 herausbekomme??

lg


----------



## thE_29 (29. Aug 2007)

Anscheind müssen die Millisekunden immer 3stellig angegeben werden!


```
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
```

Hier reicht mal ein S und dann musst du es so sagen:


```
Date date = sdf.parse("2007-08-29 08:59:22.890");
```

Wenn du zB das hier sagst:


```
Date date = sdf.parse("2007-08-29 08:59:22.8901");
```

Kommt das hier raus: 2007-08-29 08:59:30.901


Egal ob ich oben ein S oder 4 oder 3 S habe..


----------



## PollerJava (29. Aug 2007)

Vielen Dank!!


----------

