2012-01-21 2 views
1

У меня есть поле DateTime в моей базе данных SQL, и когда я пытаюсь показать его на моей странице JSP и отформатировать его с помощью «dd-MM-yyyy hh: mm: ss», он отображает правильно только часть даты. Например, для даты «2012-01-19 12:13:48», хранящейся в базе данных, отображается «19-01-2012 12:00:00». В чем может быть проблема?SimpleDateFormat не показывает правильный формат даты

Код:

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss"); 
sdf.format(rs.getDate("comment_date")); //rs -> ResultSet 

ответ

4

Из Javadoc для java.sql.Date:

Чтобы соответствовать определению SQL DATE значения миллисекунды, завернутые экземпляром java.sql.Date должен быть «нормализованы ', установив часы, минуты, секунды и миллисекунды на нуль в конкретный часовой пояс, с которым связан экземпляр.

Для того, чтобы сохранить информацию о времени, вы должны использовать java.sql.Timestamp. Иными словами, измените rs.getDate() на rs.getTimestamp().

+0

О, спасибо, это все решило :)) – chris05

0

Интересная библиотека времени/времени, на которую вы могли бы обратить внимание, это Joda Time. Он решает многие проблемы реализации даты/времени в стандартной библиотеке.

 Смежные вопросы

  • Нет связанных вопросов^_^