我在我的应用程序中使用Hibernate来存储“时间”(小时,分钟,秒)。我正在使用Hibernate来管理我的实体。我在我的实体中使用了JPA注释@ TemporalType.Time,如下所示:
@Temporal(TemporalType.TIME)
public Date getTime_out() {
return time_out;
}
我存储的时间是从Web服务请求中获取的字符串,如下所示:
DateFormat df = new SimpleDateFormat("hh:mm:ss");
Date date = null;
try {
date = df.parse(timeHHMM);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我希望网络请求采用特定格式(我知道这可能不是正确的做法,但我只是在玩实验)。将String转换为Date后,我在实体上设置时间并将其保存在数据库中。
当我的输入是08:00:00时,它按预期存储为08:00:00。当它是13:00:00(下午1点)时,它被存储为13:00:00,这是我想要的。但是,当我的输入是12:00:00(下午12点)时,它将被存储为00:00:00。
我在这里错过了什么吗?
谢谢!
答案 0 :(得分:3)
您使用的日期格式错误。 hh
指定上午/下午格式的小时,因此12:00:00默认为上午12点(00:00:00)。
你需要:
SimpleDateFormat("HH:mm:ss")