如何更改:Sun Jan 01 00:00:00 BRST 2006至2006-01-01 00:00:00.0

时间:2010-11-09 18:01:00

标签: grails date groovy

嘿伙计们,我怎样才能转换到我的行动参数的datePicker格式?

我的实际日期属性不接受此“Sun Jan 01 00:00:00 BRST 2006”类型,例如“2006-01-01 00:00:00.0”。

我该如何处理?

2 个答案:

答案 0 :(得分:2)

很难在没有提供重现问题所需信息的问题中进行调查。在您的情况下,至少应该是错误类型,消息和相关代码片段。 -

通常情况下,您的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")

RESP。,

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

也可以register a CustomDateEditor,但不应该使用datePicker


毕竟,datePicker结果应自动转换为Date,如第一个示例所示。 - 如果仍然没有,请澄清您的问题。

答案 1 :(得分:0)

为什么不使用Joda-time代替具有许多弃用方法的Date,并且功能较弱。 在gsp文件中,您只需要使用:.toString(“format”)