如何转换谷歌硬盘';java中的s日期格式?

如何转换谷歌硬盘';java中的s日期格式?,java,date,Java,Date,这是我迄今为止尝试过但不起作用的方法: 这是驱动器api的json响应返回的日期格式 2014-04-29T17:58:02.437Z final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssz"); System.out.println(df.parse("2014-04-29T17:58:02.437Z")); 正确的转换方法是什么?快速建议: final SimpleDateFormat sdf = n

这是我迄今为止尝试过但不起作用的方法: 这是驱动器api的json响应返回的日期格式 2014-04-29T17:58:02.437Z

final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssz");
System.out.println(df.parse("2014-04-29T17:58:02.437Z"));
正确的转换方法是什么?

快速建议:

final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(sdf.parse("2014-04-29T17:58:02.437Z"));
如您所见,Z只是由GMT设置的,而您并没有解析437毫秒


对我有用,只是尝试一下

除了上面的答案之外,值得注意的是(如果您可以选择的话)Java8的新日期/时间API以本机方式处理ISO-8601。