Java和日期(不可解析的日期)

时间:2019-04-29 17:03:10

标签: java date grails

我不能取消日期问题...我在看其他帖子,但没有一个最终给我结果。

我在AngularJS中收到以下日期:

2019-05-04T09:00:00Z

在Grails中,我通过以下方式进行处理:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSX");
            Date d = sdf.parse(parametros.volverallamar);   

但是当尝试保存它时,出现以下错误:

Unparseable date: "2019-05-03T09:00:00Z". Stacktrace follows:

谢谢!

2 个答案:

答案 0 :(得分:0)

您正在定义以毫秒(.SSSSSSS)为单位的日期格式,但是您的实际输入日期中没有毫秒。

使用以下格式:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");
Date d = sdf.parse("2019-05-04T09:00:00Z");   

答案 1 :(得分:-1)

如果您使用的是Java 8,请尝试一下:

DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH);
    DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyy", Locale.ENGLISH);
    LocalDate date = LocalDate.parse("2019-05-03T09:00:00Z", inputFormatter);
    String formattedDate = outputFormatter.format(date);
    System.out.println(formattedDate);