Index: /text/src/test/java/tests/api/java/text/SimpleDateFormatTest.java =================================================================== --- /text/src/test/java/tests/api/java/text/SimpleDateFormatTest.java (revision 386558) +++ /text/src/test/java/tests/api/java/text/SimpleDateFormatTest.java (working copy) @@ -301,6 +301,12 @@ format.format(new Date()); assertTrue("not equal after format", format.equals(clone)); } + + public void test_equals_afterFormat() { + SimpleDateFormat df = new SimpleDateFormat(); + df.format(new Date()); + assertEquals(df, new SimpleDateFormat()); + } /** * @tests java.text.SimpleDateFormat#formatToCharacterIterator(java.lang.Object) Index: /text/src/main/java/java/text/SimpleDateFormat.java =================================================================== --- /text/src/main/java/java/text/SimpleDateFormat.java (revision 386558) +++ /text/src/main/java/java/text/SimpleDateFormat.java (working copy) @@ -306,8 +306,10 @@ } private void appendNumber(StringBuffer buffer, int count, int value) { + int minimunIntegerDigits = numberFormat.getMinimumIntegerDigits(); numberFormat.setMinimumIntegerDigits(count); numberFormat.format(new Integer(value), buffer, new FieldPosition(0)); + numberFormat.setMinimumIntegerDigits(minimunIntegerDigits); } /**