求当前时间预先或之后指定时间段的时间

求当前时间之前或之后指定时间段的时间

     以前遇到一个这样的需求,统计当前时间之前五分钟之前用户登录错录次数,用户登录错误记录是保存在DB表中的,记录创建时间字段为 createTime,那么我们需要用一条语句来统计

 

HQL : select count(*) from XXX  x  where x. createTime between startTime=:startTime  and endTime=: endTime

 

这里endTime就是指当前时间,那么五分钟前的startTime是如何求得呢?

 

下面给出我的解决方法

 

 

long  timeDistance=5*60*1000L;//五分钟时间间隔
Date endTime=new Date();//当前时间
Date startTime=new Date(endTime.getTime()- timeDistance);//开始时间为当前时间后退5分钟

  

这样我就得到了当前后退五分钟的时间,当然,当前时间之后的五分钟后的时间只要将“endTime.getTime()- timeDistance”改为“endTime.getTime()+timeDistance”即可。

 

这个东东可能大伙能用得上,如果大家有更好的方法请不吝赐教!