0

Мой Грааль приложение»Просмотр списка имеет следующий формат даты из базы данных: 2012-01-18 14:29:19 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 или выше, вам нужно вручную создать объект Date из параметров.

Я думаю, что дата, которую вы получаете с вашего datePicker, имеет слишком высокую точность, чтобы возвращать что-либо в вашем запросе. Попробуйте изменить критерии на lt("create_date", params.myDate), чтобы узнать, можете ли вы вернуть любые значения. Также попробуйте params.myDate.clearTime(), чтобы просто оставить вас с датой.

+0

Не получаю никакой ценности. – element40

+0

Что делать, если вы создаете новую дату() и используете это в критериях? – doelleri

+0

не получите. Я новичок в grails. Объясните мне синтаксис. – element40

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

0

У меня есть поздний вероисповеданий, но как насчет других методов конверсии

Смежные вопросы