0

我的聖盃應用程序」列表視圖中有從數據庫以下日期格式: 2012-01-18 14點29分十九秒EST如何在grails中轉換日期?

我使用

<g:datePicker name="myDate" value="${new Date().format("dd MM,yyyy")}"/> 

和控制器:

def c = abc.createCriteria() 
    def x = c.list{ 
      eq("name",params.wfName) 
      eq("create_date",params.myDate) 
    } 

但列表x沒有內部並沒有返回任何東西。雖然我只搜索但wfName它完美的作品。 params.myDate也有日期值。

任何人都可以請給點意見嗎?

回答

0

由於Grails 1.2訪問params.myDate會自動爲您提供Date對象。如果您不使用Grails 1.2或更高版本,則需要從params手動創建Date對象。

我認爲你從你的datePicker獲得的日期有太多精度來返回你的查詢中的任何東西。嘗試將標準更改爲lt("create_date", params.myDate)以查看是否可以獲取任何返回的值。也可以嘗試params.myDate.clearTime()來爲你留下日期。

+0

沒有得到任何價值。 – element40 2012-01-19 18:58:43

+0

如果您創建新的Date()並在條件中使用它,該怎麼辦? – doelleri 2012-01-19 22:53:53

+0

不要讓你。我對Grails很陌生。用語法解釋我。 – element40 2012-01-20 00:31:23

1

這可能是因爲傳入的「日期」是一個字符串。您的標準正在尋找一個實際的日期。

你沒有指定你使用的是什麼版本的Grails的,但如果它的Grails的2.0,他們已經加入方法PARAMS使轉換變得更加容易:

eq('create_date', params.date('myDate', 'dd MM,yyy')) 

Check out this article by mrhaki脫穎而出更多的例子。

對於早期版本的Grails,您必須自己轉換它,使用Date.parse(params.myDate, "<< format >>")

+0

我正在使用Grials 1.3.7 – element40 2012-01-19 15:20:04

0

我有grails的letes verion,但其他方法轉換