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

Posted

技术标签:

【中文标题】如何更改:Sun Jan 01 00:00:00 BRST 2006 to 2006-01-01 00:00:00.0【英文标题】:how to change: Sun Jan 01 00:00:00 BRST 2006 to 2006-01-01 00:00:00.0 【发布时间】:2011-05-07 10:03:13 【问题描述】:

大家好,如何转换我的操作参数中的 datePicker 格式?

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

我该如何处理?

【问题讨论】:

您是否尝试过使用Date.format()? 问题是读取新日期还是渲染现有日期?请给我们一些代码。 问题已放弃。 “谢谢”。 【参考方案1】:

如果问题没有提供重现问题所需的信息,则很难进行调查。在您的情况下,至少是错误类型、消息和相关代码 sn-ps。 -

通常情况下,您的datePicker 结果“Sun Jan 01 00:00:00 BRST 2006”应该与这样的标准代码完美匹配:

控制器动作方法:

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

普惠制:

<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)

register a CustomDateEditor 也可以,但不需要datePicker


毕竟,datePicker 结果应该自动转换为Date,如第一个示例所示。 - 如果还是不行,请澄清您的问题。

【讨论】:

【参考方案2】:

为什么你不使用 Joda-time 而不是 Date,它有很多不推荐使用的方法,而且功能不那么强大。 在 gsp 文件中,您只需要使用: .toString("format")

【讨论】:

以上是关于如何更改:Sun Jan 01 00:00:00 BRST 2006 to 2006-01-01 00:00:00.0的主要内容,如果未能解决你的问题,请参考以下文章

Pandas-将列值转换为顺序整数

Django检查数组内的数组并更改模板

如何在 Perl 中更改日期时间值的时区?

消除SQL ORACLE中日期的小时,分 钟和秒

如何在数据表中从 '2021-01-09T00:00:00' LIKE 2021-01-09 转换日期时间格式

如何将字符串 '2020-01-06T00:00:00.000Z' 转换为日期时间对象?