Wie man eine characterkette in ein java.sql.date analysiert

Hi ich versuche, eine characterfolge in eine java.sql.date zu parsing

Hier ist, was ich tue

private static SimpleDateFormat sdfout = new SimpleDateFormat("yyyy.MM.dd.HH.mm"); try{ String date = "2010.09.30.13.18"; task.setDueDate(new java.sql.Date(sdfout.parse(date).getTime())); } 

Das Problem ist, dass ich nur das date zurückbekomme. Nicht die time.

Mache ich das richtig?

Die Code-Logik ist in Ordnung, Sie brauchen nur java.sql.Timestamp anstelle von java.sql.Date . Der SQL-timestempel steht für das date und die Uhrzeit, wie das date in Java. Das SQL-date repräsentiert nur den datesteil.

Siehe auch:

  • Umgang mit timestempeln in MySQL mit JDBC

Es sollte beachtet werden, dass Sie java.util.Date gegenüber java.sql.Timestamp in den java.sql.Timestamp bevorzugen und den Timestamp nur in dem Moment verwenden sollten, in dem Sie ihn in einer SQL-Abfrage einstellen. Dies trennt die modelobjekte von der JDBC-API und verbessert deren Portabilität und Wiederverwendbarkeit.

Das java.sql.Date (gemäß JavaDoc)

Ein dünner Wrapper um einen Millisekunden-Wert, mit dem JDBC dies als SQL-DATE-Wert identifizieren kann.

Es gibt Ihnen eine Darstellung eines SQL DATE zurück .

Die java.sql.Time (nach JavaDoc)

Ein dünner Wrapper um die java.util.Date-class, mit dem die JDBC-API dies als SQL-TIME-Wert identifizieren kann.

Es liefert Ihnen eine Darstellung einer SQL TIME .

Wenn Sie sowohl date als auch Uhrzeit verwenden möchten, verwenden Sie java.util.Date statt java.sql.Date .