Groovy/grailsdate.parse

Groovy/grailsdate.parse,grails,groovy,Grails,Groovy,在我看来,以下Groovy脚本应该会因解析异常而失败: println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-10-06T05:58:00-0500") println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-14-06T05:58:00-0500") println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-10-45T05:58:00-0500") println D

在我看来,以下Groovy脚本应该会因解析异常而失败:

println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-10-06T05:58:00-0500")
println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-14-06T05:58:00-0500")
println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-10-45T05:58:00-0500")
println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-10-06T35:58:00-0500")
println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-10-06T05:95:00-0500")
请注意:

第二个日期的月份无效 第三个日期的日期无效 第四个日期的小时无效 第五个日期的分钟数无效
我很确定我知道它实际上在做什么,但这不是我所期望的。

解析中所写的只是SimpleDataFormat的包装。可以取消SimpleDataFormat lenient的设置,就像在answer中一样,但是我认为在调用Date.parse时不可能这样做。因此,要获得正确的结果,您应该使用严格的SimpleDataFormat。

谢谢。这就是我解决问题的方法。