日期参数形成问题

时间:2010-11-05 18:23:06

标签: grails date groovy

我在标签上遇到了一些麻烦,然后从发送了参数的模型中更新了我的Date属性。

这是我的标签:

    <g:datePicker name="data" value="${controle.data}" precision="month" 
        years="${(Calendar.getInstance().get(Calendar.YEAR)-70)..Calendar.getInstance().get(Calendar.YEAR)}"/>

当我打印“params.data”时,它说“struct”,但我不能简单地做:

model.data = params.data

params附带了params.data_month和params.data_year以及String中的相应值,如:

[[data:struct], [data_month:1], [data_year:2009]]

我试着这么做:

model.data = new SimpleDateFormat("MM/yyyy").parse("${params.data_month}/${params.data_year}")

但它拒绝该值,警告:“无法将类型[java.lang.String]的值转换为属性'data '的必需类型[java.util.Date]”

println model.data
println new SimpleDateFormat("MM/yyyy").parse("${params.data_month}/${params.data_year}")

--shows

2006-01-01 00:00:00.0
Sun Jan 01 00:00:00 BRST 2006

1 个答案:

答案 0 :(得分:1)

  

但我不能简单地做:model.data =   params.data

为什么不呢?您是否获得例外,或者您只是被过时的文档误导? -
这是一项功能since Grails 1.2。转换为Date类型将自动执行。

关于SimpleDateFormat问题,只需添加,就像这样:

model.data = new SimpleDateFormat("d/MM/yyyy").parse(
    "1/${params.data_month}/${params.data_year}")