diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 5372dfc9509..844dfee78fa 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2003-07-24 H. Väisänen + + * java/text/SimpleDateFormat.java (format) [YEAR_FIELD]: Zero pad + unless field size is 2. + 2003-07-23 Thomas Fitzsimmons * gnu/java/awt/peer/gtk/GtkTextComponentPeer.java diff --git a/libjava/java/text/SimpleDateFormat.java b/libjava/java/text/SimpleDateFormat.java index 67523e1628d..b43c6cd86d4 100644 --- a/libjava/java/text/SimpleDateFormat.java +++ b/libjava/java/text/SimpleDateFormat.java @@ -430,11 +430,15 @@ public class SimpleDateFormat extends DateFormat buffer.append(formatData.eras[calendar.get(Calendar.ERA)]); break; case YEAR_FIELD: - temp = String.valueOf(calendar.get(Calendar.YEAR)); - if (p.size < 4) - buffer.append(temp.substring(temp.length()-2)); + // If we have two digits, then we truncate. Otherwise, we + // use the size of the pattern, and zero pad. + if (p.size == 2) + { + temp = String.valueOf(calendar.get(Calendar.YEAR)); + buffer.append(temp.substring(temp.length() - 2)); + } else - buffer.append(temp); + withLeadingZeros(calendar.get(Calendar.YEAR), p.size, buffer); break; case MONTH_FIELD: if (p.size < 3)