--- old/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java 2016-04-26 10:14:09.388151242 +0300 +++ new/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java 2016-04-26 10:14:09.118151242 +0300 @@ -1479,9 +1479,7 @@ * W 1 append special localized WeekFields element for numeric week-of-month * d 1 appendValue(ChronoField.DAY_OF_MONTH) * dd 2 appendValue(ChronoField.DAY_OF_MONTH, 2) - * D 1 appendValue(ChronoField.DAY_OF_YEAR) - * DD 2 appendValue(ChronoField.DAY_OF_YEAR, 2) - * DDD 3 appendValue(ChronoField.DAY_OF_YEAR, 3) + * D..D 1..3 appendValue(ChronoField.DAY_OF_YEAR, n, 19, SignStyle.NORMAL) * F 1 appendValue(ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH) * g..g 1..n appendValue(JulianFields.MODIFIED_JULIAN_DAY, n, 19, SignStyle.NORMAL) * E 1 appendText(ChronoField.DAY_OF_WEEK, TextStyle.SHORT) @@ -1831,12 +1829,10 @@ } break; case 'D': - if (count == 1) { - appendValue(field); - } else if (count <= 3) { - appendValue(field, count); - } else { + if (count > 3) { throw new IllegalArgumentException("Too many pattern letters: " + cur); + } else { + appendValue(field, count, 19, SignStyle.NORMAL); } break; case 'g':