代码之家  ›  专栏  ›  技术社区  ›  mmaceachran

SimpleDataFormat引发不可解析的异常[重复]

  •  -1
  • mmaceachran  · 技术社区  · 6 年前

    我知道有很多,但我似乎找不到这种日期格式的神奇字符串:

    String textDate = "2018-04-25T18:23:57.556Z";
    

    我的代码是:

    String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
    simpleDateFormat.parse(textDate)
    

    奇怪的是在日期字符串中有一个“Z”,所以我不确定时区在这个字符串上是如何工作的。

    如果我将日期格式更改为:

    "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
    

    它的工作,但我不知道如何获得时区那么。。。

    1 回复  |  直到 6 年前
        1
  •  5
  •   Basil Bourque    6 年前

    Z =UTC

    ISO 8601 日期时间标准 UTC Z轴

    这个 java.time文件 类在解析/生成字符串时默认使用iso8601标准格式。这个 Instant 类表示UTC中的一个时刻,非常适合您的输入字符串。

    Instant instant = Instant.parse( "2018-04-25T18:23:57.556Z" ) ;