--- old/src/java.base/share/classes/java/time/format/DateTimeFormatter.java 2016-02-25 18:40:41.226671501 +0300 +++ new/src/java.base/share/classes/java/time/format/DateTimeFormatter.java 2016-02-25 18:40:39.185671501 +0300 @@ -923,6 +923,7 @@ *
  • The {@link #ISO_LOCAL_DATE_TIME} *
  • The {@link ZoneOffset#getId() offset ID}. If the offset has seconds then * they will be handled even though this is not part of the ISO-8601 standard. + * The offset parsing is lenient, which allows the minutes and seconds to be optional. * Parsing is case insensitive. * *

    @@ -935,7 +936,9 @@ ISO_OFFSET_DATE_TIME = new DateTimeFormatterBuilder() .parseCaseInsensitive() .append(ISO_LOCAL_DATE_TIME) + .parseLenient() .appendOffsetId() + .parseStrict() .toFormatter(ResolverStyle.STRICT, IsoChronology.INSTANCE); } @@ -1160,6 +1163,7 @@ *

  • If the offset is not available to format or parse then the format is complete. *
  • The {@link ZoneOffset#getId() offset ID} without colons. If the offset has * seconds then they will be handled even though this is not part of the ISO-8601 standard. + * The offset parsing is lenient, which allows the minutes and seconds to be optional. * Parsing is case insensitive. * *

    @@ -1178,7 +1182,9 @@ .appendValue(MONTH_OF_YEAR, 2) .appendValue(DAY_OF_MONTH, 2) .optionalStart() + .parseLenient() .appendOffset("+HHMMss", "Z") + .parseStrict() .toFormatter(ResolverStyle.STRICT, IsoChronology.INSTANCE); }