Разбор строки во время составляет 01:00:00 - PullRequest
1 голос
/ 29 апреля 2010

Когда я делаю следующее:

String start = request.getParameter("startp");
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");  
long ms=0;
try {
    ms = sdf.parse(start).getTime();
} catch (ParseException e1) {
    e1.printStackTrace();
}
Time ts = new Time(ms);

вставляется с этим значением 01:00:00, ведь это неверное значение (введено пользователем).

Я не понимаю ошибку здесь. Пожалуйста помоги. Спасибо

1 Ответ

0 голосов
/ 29 апреля 2010

Во-первых, это не приведение , это разбор (я обновил заголовок и теги соответственно). Во-вторых, согласно SimpleDateFormat документу API двузначные 24-часовые часы должны быть представлены HH, а не hh.

Чтобы лучше понять основную причину, вам нужно обновить свой вопрос, включив в него фактические значения start, ms и ts. Распечатайте их, используя System.out.println() или регистратор. Если все выглядит нормально, проблема заключается в модели таблиц SQL или DB, вам необходимо убедиться, что вы устанавливаете ее, используя PreparedStatement#setTime(), и что тип столбца таблицы DB имеет по крайней мере TIME тип.

...