【问题标题】:Java and Dates (Unparseable date) [duplicate]Java 和日期(无法解析的日期)[重复]
【发布时间】:2019-04-29 17:03:09
【问题描述】:

我无法解决日期问题...我正在查看其他帖子,但没有一个最终给我结果。

我在 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:

谢谢!

【问题讨论】:

  • 日期字符串的.SSSSSSSX 部分在哪里?另请注意,SimpleDateFormat 不处理毫秒数。

标签: java date grails


【解决方案1】:

您正在使用毫秒 (.SSSSSSS) 定义日期格式,但您的实际输入日期没有。

使用没有的格式:

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

【讨论】:

    【解决方案2】:

    如果您使用的是 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      • 2017-12-17
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      相关资源
      最近更新 更多