diff options
Diffstat (limited to 'libjava/java/text/SimpleDateFormat.java')
-rw-r--r-- | libjava/java/text/SimpleDateFormat.java | 12 |
1 files changed, 8 insertions, 4 deletions
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) |