无法解析日期javascript到Grails

时间:2014-07-07 18:17:16

标签: javascript grails

在我的Cordova项目中,我在Javascript创建了一个新日期:

var started = new Date(); var ended = new Date();

在console.log中显示了我:Mon Jul 07 2014 15:09:12 GMT-0300 (BRT)

但我的Grails告诉我这个错误

Unparseable date: "Mon Jul 07 2014 15:07:45 GMT-0300 (BRT)".

我无法理解为什么他让我告诉我无法解析,因为它是一个日期。我是否必须在JavascriptGrails中对其进行格式化并解析它?

def objects = JSON.parse params.objects
objects?.each() {
    def started = new Date().parse("EEE MMM dd yyyy HH:mm:ss 'GMT'z (Z)", it.started)
    def ended = new Date().parse("EEE MMM dd yyyy HH:mm:ss 'GMT'z (Z)", it.ended)
    def test = new Test(
        created: new Date(),
        started: started,
        ended: ended
    );
}

1 个答案:

答案 0 :(得分:2)

您的日期格式字符串与您的输入不一致。尝试这样的事情......

new Date().parse("EEE MMM dd yyyy HH:mm:ss 'GMT'z (Z)", it.started)

我希望有所帮助。

您的示例中没有足够的上下文来告诉您正在执行的操作但是如果您在控制器操作中执行此操作并且您只是尝试检索具有Mon Jul 07 2014 15:09:12 GMT-0300 (BRT)之类的值的请求参数并将其转换为到了约会,你可以做这样的事......

class SomeController {
    def someControllerAction() {
        // this assumes the request parameter name is  "started"
        def startDate = params.date('started', "EEE MMM dd yyyy HH:mm:ss 'GMT'z (Z)")
    }
}