2013-12-04 3 views
3

Когда я пытаюсь использовать тег формата даты в представлении gsp, чтобы изменить формат моей даты, но он не работает.grails change Формат даты в представлении gsp

Это мой код:

class MyDate { 
    Date date 
} 

MyDateController:

.... 
def unixSeconds = params["date"].replaceAll("\"", "") as long //params["date"]="1386157660" 
Date date = new Date(unixSeconds*1000L) 
myDateInstance = new MyDate(date:date) 
.... 

GSP Вид:

${myDateInstance.date.format('yyyy-MM-dd HH:mm')} 

формат, что у меня есть 2013-12-04 12:47: 40,0 вместо 2013-12-04 12:47

ответ

10

Afaict, этого не должно быть, и я не вижу, как это происходит ...

Вы уверены, что это строка кода, которая генерирует вывод, который вы видите?

Вы можете попробовать тег Grails FormatDate на своем месте:

<g:formatDate format="yyyy-MM-dd HH:mm" date="${myDateInstance.date}"/> 
+0

Извините, вы правы: мне нужно изменить формат даты в двух местах в моем коде ... так что мой код правильный. – Jils

+0

Кроме того, я заметил, что если заданы 'type' и' style', 'format' не используется. Я думаю, что они работают как альтернативы друг другу. Кроме того, использование 'format' было бы полезно, так как формат строки даты мог различаться в разных операционных системах. – TechSpellBound

6

Вы можете использовать "FormatDate" в значение атрибута, как следующий

<g:textField name="saleDate" value="${formatDate(format:'dd-MM-yyyy',date:saleItem?.saleDate)}"/> 
0

В дополнение к @ tim_yates Ответим выше, есть еще один пункт, который я хочу добавить:

Я заметил, что если указаны type и style, format не используется. Я думаю, что они работают как альтернативы друг другу. Кроме того, использование format было бы полезно, поскольку формат строки даты мог различаться в разных операционных системах.

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