[Grails] 发现查询“今天”的信息很麻烦!!!

zengsun 2007-12-26
写个查询:想把数据库中“今天”的“事件”信息查找出来!
Event.findAllByEventDate(new Date())

写的时候感觉就不行了,原因new Date()是带时分秒的。
数据库里的记录怕是匹配不上。
结果和我想的一样,一点侥幸也没有(Grails好像没有考虑处理这个问题)。
所以只好使用Between了:
Event.findAllByEventDateBetween(new Date()-1, new Date()+1)

相信大家一看就知道上面的语句是达不到查询“今天”的目标的。
我现在的问题是:要获得“今天”00:00:00和23:59:59的这两个时刻要8行代码!
这太麻烦了。请大侠指点简单的办法!
agile_boy 2007-12-26
好像确实也没有什么好办法吧,我一般是在Date的时候,将时分秒设置为0
geszJava 2008-01-07
一两行应该可以搞定得吧.
long dateMillis = 24 * 3600 * 1000 l;
Event.findAllByEventDate(new Date(System.currentTimeMillis() / dateMillis * dateMillis))
不过这样写的确麻烦.
Global site tag (gtag.js) - Google Analytics