Преобразовать строковую дату дд / мм / гггг в java.sql.date гггг-мм-дд - PullRequest
1 голос
/ 09 марта 2012

Я использую описанный ниже метод для выполнения описанного преобразования. Но метод java.sql.Date устарел. Так какой вред от использования этого метода? Как приведенные ниже заявления работают нормально.

(Получение значения даты в виде строки в сервлете из сеанса с последующим сохранением даты в MySQL.)

String f33_ = (String) session.getAttribute ("sf33");


java.sql.Date f33 = новая java.sql.Date (Integer.parseInt (f33_.substring (6, 10)) - 1900, Integer.parseInt (f33_.substring (3, 5)) - 1, целое число .parseInt (f33_.substring (0, 2)));

1 Ответ

1 голос
/ 09 марта 2012

Вы должны использовать SimpleDateFormat (или эквивалент Joda Time ), а не пытаться анализировать это самостоятельно:

DateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
format.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));

java.util.Date date = format.parse(text);

java.sql.Date sqlDate = new java.sql.Date(date.getTime());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...