我需要一个包含日期的下拉列表。
当我写
<g:select id="dob" name="dob" from="${Person.list().dateOfBirth}" value="${personInstance?.dateOfBirth}" />
这会以2011-05-17 00:00:00.0
格式显示日期但我需要格式mm/dd/yyyy
。
我该怎么做?
答案 0 :(得分:3)
这是我能想到的最短的解决方案(未经测试):
<g:set var="dateFormat" value="MM/dd/yyyy"/>
<g:select id="dob" name="dob" from="${Person.list().dateOfBirth*.format(dateFormat)}"
value="${personInstance?.dateOfBirth?.format(dateFormat)}" />
答案 1 :(得分:1)
Grails有一个formatDate标记,您可以在此情况下将其用作方法调用。例如:
value="${formatDate(format:'mm/dd/yyyy', date: yourDate)}" />
答案 2 :(得分:1)
optionValue="${{formatDate(format: 'mm/dd/yyyy', date: it.dateOfBirth)}}"
答案 3 :(得分:0)
这有用吗?
<g:set var="sdf" value="${new java.text.SimpleDateFormat('MM/dd/yyyy')}"/>
<g:select from="${Person.list()}" name="dob" optionValue="${{sdf.format(it.dateOfBirth)}}" optionKey="${{sdf.format(it.dateOfBirth)}}"/>