私はGrailsでいくつかの作業を行っています。私のドメイン クラス (Simple Messages) は、開始日と終了日で構成されています。現在の日付 (現在) が開始日と終了日の間にある場合にのみ、「メッセージ」をユーザーに表示したい。つまり、今日が開始日と終了日の間にある場合にのみ、メッセージがユーザーに表示されるようにする必要があります。また、時間に関連する計算は必要ありません。
ドメインクラスは次のとおりです。
class SimpleMessage
{
String message
Date startDate
Date endDate
}
有効なメッセージを抽出するために私のサービスで定義されたメソッドは次のとおりです。
def GetLiveMessages()
{
def coTimeStamp = new Date().clearTime().toTimestamp()
def c = SimpleMessage.createCriteria()
def coCurrentMessages = c.list
{
ge("startDate", coTimeStamp)
le("endDate", coTimeStamp)
}
return coCurrentMessages
}
coCurrentMessages は常にサイズ 0 を返します。有効な日付のレコード (開始日 - 2012 年 6 月 1 日と終了日 2012 年 6 月 2 日) を追加しましたが、それでも 0 が返されます (今日 - 2012 年 6 月 1 日)。驚いたことに、2 番目の制約 'le' を削除すると、メッセージ レコードが正しく取得されます。
あなたの助けに感謝します。