aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/text/SimpleDateFormat.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/text/SimpleDateFormat.java')
-rw-r--r--libjava/java/text/SimpleDateFormat.java12
1 files changed, 8 insertions, 4 deletions
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)