将字符串解析为时间为01:00:00

时间:2010-04-28 22:43:18

标签: java parsing time

当我执行以下操作时:

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 :(得分:0)

首先,它不是casting,而是parsing(我已相应地更新了标题和标签)。其次,根据SimpleDateFormat API document两位数的24小时,由HH表示,而不是hh

为了更好地确定根本原因,您必须更新您的问题,以包含startmsts实际值。使用System.out.println()或记录器打印它们。如果一切正常,那么问题出在SQL或DB表模型中,您需要确保使用PreparedStatement#setTime()进行设置,并且DB表列类型至少为TIME类型。