需求背景:
数据库中的日期存放格式为时间戳(number类型),页面查询条件为日期格式,没有时分秒。页面列表也要显示成日期格式。
需求框架:SSH
搜索日期条件参数在action中定义为String类型。分别为:beginDateQuery,endDateQuery
1:日期--->时间戳(service层)
long beginDate =0l;//时间戳定义为long类型
long endDate = 0l;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//
try {
beginDate = sdf.parse(beginDateQuery+" 00:00:00").getTime()/1000;//我的搜索条件没有时分秒,所以加上。
endDate = sdf.parse(endDateQuery+" 23:59:59").getTime()/1000;
} catch (ParseException e) {
e.printStackTrace();
}
criteria.add(Restrictions.between("totalTmFlag", beginDate, endDate));//直接根据DetachedCriteria(criteria)的搜索条件查询时间。
2:时间戳-->日期(model层)
private long totalTmFlag;//最后登录游戏时间(数据库中对应的字段)
private Date lastTime;//最后登录游戏时间(页面上显示的日期字段)
public Date getLastTime() { //直接在get方法中转换
return new Date(totalTmFlag*1000l);
}
public void setLastTime(Date lastTime) {
this.lastTime = lastTime;
}