сохранить дату в базе данных - PullRequest
0 голосов
/ 25 марта 2011

У меня есть страница JSP, на которой я ввожу дату в текстовое поле и извлекаю значение из текстового поля, и значение сохраняется в строковой переменной. Я хочу преобразовать это значение в дату, и это значение будет храниться в базе данных. Я использую MySQL.

Ответы [ 4 ]

0 голосов
/ 25 марта 2011

Я бы всегда сохранял значение, которое не зависит от часового пояса в базе данных; Date.getTime() прекрасно работает и всегда может быть преобразован во что-то, что вы можете отобразить или с чем-то по-другому работать, и это позволяет избежать множества неприятностей, когда речь идет о переходе на летнее время.

0 голосов
/ 25 марта 2011

Вам нужно будет преобразовать вашу строку даты в java.sql.Date объект, например,

java.sql.Date date = java.sql.Date.valueOf("2011-01-12"); //where date is of pattern "yyyy-MM-dd"

После создания даты используйте PreparedStatement.setDate(int index, java.sql.Date date) для сохранения даты в базе данных.

0 голосов
/ 25 марта 2011

Если - пока - вам не нужна фактическая дата в вашей программе, вы можете просто вызвать setString в соответствующем поле в подготовленном операторе, чтобы база данных проанализировала дату.

0 голосов
/ 25 марта 2011

Используйте SimpleDateFormat.parse() для анализа вашей строки даты в Date объекте и сохранения этого или getTime() этого в базе данных.

Вот пример разбора даты:

String pattern = "MM/dd/yyyy";
SimpleDateFormat format = new SimpleDateFormat(pattern);
Date date = format.parse("03/24/2011");

См. этот ответ о хранении дат в MySQL.

...