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

如何识别Java数据句柄中的Zulu时区?

  •  16
  • Guillaume  · 技术社区  · 16 年前

    我有格式的日期 2008-12-23T00:00:00Z . 这看起来很像 ISO 8601 format 使用祖鲁(UTC)时区。我认为下面的代码将解析它(使用 commons-lang ):

    String pattern = DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern();
    Date d = DateUtils.parseDate(dateToParse, new String[] { pattern });
    

    如果我采用相同的模式( yyyy-MM-dd'T'HH:mm:ssZZ )但是去掉时区,它就可以工作了。

    你知道我怎么识别祖鲁时区吗?我只能访问Java 1.4和雅加达通用语言。 Joda Time 对我来说…

    2 回复  |  直到 11 年前
        1
  •  4
  •   Michael Borgwardt    16 年前

    看起来像是公共场所的臭虫 FastDateFormat . 告诉他们,你最终应该得到一个解决办法。在此之前,您可以尝试预处理日期并将“z”替换为“+00”

        2
  •  46
  •   Argelbargel    16 年前

    我认为Con on使用Java的内置数据格式或SimuleDead格式,为您的日期抛出PARSEExtExchange。如果所有输入字符串都以尾随的Z结尾,则可以使用以下命令:

    
    java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    // explicitly set timezone of input if needed
    df.setTimeZone(java.util.TimeZone.getTimeZone("Zulu"));
    java.util.Date date = df.parse("2008-12-23T00:00:00Z");