2
String stringDate = "2013-08-20T12:10:35Z"

如何将此 stringDate 转换为日期?我尝试了以下方法:

def dateString = stringDate.replace("T",":")
Date date = new Date().parse("yyyy-M-d:H:m:s", dateString)

结果格式不正确,并且不推荐使用日期解析。

4

3 回答 3

4

Java 方法static long parse(String s)已弃用,但 groovy 提供了一个未弃用的parse方法:

def date = Date.parse("yyyy-MM-dd'T'HH:mm:ss'Z'", stringDate)

您使用的格式是 ISO 8601 标准格式。搜索它应该为您提供更多信息。

于 2013-08-20T16:43:39.487 回答
2

您需要设置一个 JavaSimpleDateFormat对象,然后调用它的parse方法。

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;
Date result= sdf.parse(input) ;

检查SimpleDateFormat 文档以获取格式选项。

于 2013-08-20T16:36:39.673 回答
0

使用 Grails Joda Time 插件让您的生活更轻松。

http://grails.org/plugin/joda-time

于 2013-08-20T16:36:32.273 回答