Musisz użyć metod getTime() lub getTimestamp() zgodnie z sugestią Thomasa. By dać przykład...
Powiedz dla tabeli, do której pytasz w ten sposób:rs = stmt.executeQuery("select timeCol, dateCol, dateTimeCol from dateTimeTable");
Możesz zrobić:
java.sql.Time dbSqlTime = rs.getTime(1);
java.sql.Date dbSqlDate = rs.getDate(2);
java.sql.Timestamp dbSqlTimestamp = rs.getTimestamp(3);
Jeśli chcesz użyć obiektu daty Java:
java.util.Date dbSqlTimeConverted = new java.util.Date(dbSqlTime.getTime());
java.util.Date dbSqlDateConverted = new java.util.Date(dbSqlDate.getTime());
Chciałbym również sprawdzić JodaTime do pracy z Dates w Javie znacznie ułatwia życie.
Na koniec warto zauważyć, że istnieje kilka różnic między znacznikiem czasu a datą i godziną w MySQL. Mianowicie, że znacznik czasu ma strefę czasową, a serwer zwróci zapytany znacznik czasu w lokalnym czasie serwera (co może być denerwujące). Radzę używać DateTime i zawsze utrzymywać daty/godziny w tej samej strefie czasowej (tj. UTC). Zobacz http://dev.mysql.com/doc/refman/ 5.0/pl/datetime.html