diff options
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/text/SimpleDateFormat.java | 12 |
2 files changed, 13 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 5372dfc..844dfee 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2003-07-24 H. Väisänen <hvaisane@joyx.joensuu.fi> + + * java/text/SimpleDateFormat.java (format) [YEAR_FIELD]: Zero pad + unless field size is 2. + 2003-07-23 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/java/awt/peer/gtk/GtkTextComponentPeer.java diff --git a/libjava/java/text/SimpleDateFormat.java b/libjava/java/text/SimpleDateFormat.java index 67523e1..b43c6cd 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) |