как изменить: вс 01 января 00:00:00 BRST 2006 на 2006-01-01 00: 00: 00.0 - PullRequest
0 голосов
/ 09 ноября 2010

Эй, ребята, как я могу преобразовать формат datePicker, который появился в моих параметрах действий?

Мой фактический атрибут Date не принимает этот тип "Sun Jan 01 00:00:00 BRST 2006", например только "2006-01-01 00: 00: 00.0".

Как с этим справиться?

Ответы [ 2 ]

2 голосов
/ 09 ноября 2010

Трудно исследовать вопросы, которые не предоставляют необходимой информации для воспроизведения проблемы.В вашем случае это будет тип ошибки, сообщение и, по крайней мере, соответствующие фрагменты кода.-

Как правило, ваш datePicker результат "Sun Jan 01 00:00:00 BRST 2006" должен быть в полном порядке со стандартным кодом, подобным этому:

Метод действия контроллера:

def index = {
    Date date = params.datePicker
    [date: params.datePicker ?: new Date()]
}

GSP:

<g:datePicker name="datePicker" value="${date}" />

Теперь давайте перейдем к диким догадкам:

В случае, если вы пытаетесь проанализировать эту строку даты, используя SimpleDateFormat класс, соответствующий шаблон преобразования будет:

Date date = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy")
    .parse("Sun Jan 01 00:00:00 BRST 2006")

соответственно,

Date date = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy")
    .parse(params.datePicker)

Также возможно зарегистрировать CustomDateEditor, но не должно быть необходимости делать с datePicker.


В конце концов, результат datePicker должен быть автоматически преобразован в Date, как показано в первомобразец.- Если это не помогло, пожалуйста, уточните ваш вопрос.

0 голосов
/ 10 ноября 2010

Почему вы не используете Joda-time вместо Date, который имеет много устаревших методов и менее эффективен. В файле gsp вам просто нужно использовать: .toString ("format")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...