【问题标题】:Parsing String to Time makes 01:00:00将字符串解析为时间使得 01:00:00
【发布时间】:2010-04-28 22:43:17
【问题描述】:

当我执行以下操作时:

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 插入的,女巫不是正确的(由用户输入)。

我不明白这里的错误。请帮忙。谢谢

【问题讨论】:

    标签: java parsing time


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多