[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)) 不过这样写的确麻烦. |