Java 如何以分钟为单位查找日期差异结果
我的表中有一个日期字段。现在我想检查currentTime-DbDatetime>xminutes。我怎样才能在sql hibernate中做到这一点Java 如何以分钟为单位查找日期差异结果,java,hibernate,Java,Hibernate,我的表中有一个日期字段。现在我想检查currentTime-DbDatetime>xminutes。我怎样才能在sql hibernate中做到这一点 query = session.creatQuery(Select x from Xabc where :currentTime- abcDateTime > 20 ) query.setParameter("currentTime",new Date()) 我认为简单的方法是用Java计算它,例如 new Date( new Date(
query = session.creatQuery(Select x from Xabc where :currentTime- abcDateTime > 20 )
query.setParameter("currentTime",new Date())
我认为简单的方法是用Java计算它,例如
new Date( new Date().getTime() - (20 * 60000));
我还在谷歌上找到了以下代码片段
from ApplData data where (day(current_date()) - day(data.myDate)) > 15
似乎可以将表达式与日期函数一起使用,Hibernate有很多这样的函数
当前日期(),当前时间(),当前时间戳(),
秒(…)、分钟(…)、小时(…)、日(…)、月(…)、年(…)
参考手册我认为简单的方法是用Java计算它,例如
new Date( new Date().getTime() - (20 * 60000));
我还在谷歌上找到了以下代码片段
from ApplData data where (day(current_date()) - day(data.myDate)) > 15
似乎可以将表达式与日期函数一起使用,Hibernate有很多这样的函数
当前日期(),当前时间(),当前时间戳(),
秒(…)、分钟(…)、小时(…)、日(…)、月(…)、年(…)
参考手册如果基础数据库是Oracle,我会尝试:where(:currentTime-abcDateTime)*24*60>20如果基础数据库是Oracle,我会尝试:where(:currentTime-abcDateTime)*24*60>20,除了使用
System.currentTimeMillis()
而不是创建一个一次性Date
对象来调用它上面的getTime()
。除了使用System.currentTimeMillis()
而不是创建一个一次性Date
对象来调用它上面的getTime()
。