В этом не должно быть никакой необходимости.
Даты должны храниться в БД в виде поля DATE
, DATETIME
или TIMESTAMP
, в зависимости от используемой БД и информации, которую вы хотитенравится хранить (например, только дата или дата и время вместе), а не как VARCHAR
или что-то.Такое поле для конкретной даты хранит значение под обложками в основном как целое / длинное с временем эпохи в качестве значения.
Предполагается, что вы используете тип поля даты + время, например DATETIME
или TIMESTAMP
, тогда вы должны сохранить его в БД, используя PreparedStatement#setTimestamp()
.Вот пример, предполагая, что переменная date
имеет тип java.util.Date
:
preparedStatement.setTimestamp(1, new Timestamp(date.getTime()));
И вы должны извлечь их из БД, используя ResultSet#getTimestamp()
, который возвращает Timestamp
, который, в свою очередь, является подклассом java.util.Date
, так что вы можете просто безопасно выгружать его:
Date date = resultSet.getTimestamp("columnname");
Что касается разбора / форматирования java.util.Date
объект из / в читаемый человеком формат String
, технически это должно происходить на стороне вида, а не на уровне постоянства.Как именно это сделать, в свою очередь, зависит от используемой технологии / инфраструктуры представления / пользовательского интерфейса, таких как Swing, JSP, JSF, Struts2, Spring-MVC и так далее.Поскольку из вашего вопроса не ясно, какой из них вы используете, невозможно дать подходящий ответ.Как правило, все они используют SimpleDateFormat
API под крышками.Вы даже можете использовать его в необработанном виде.