This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git
The following commit(s) were added to refs/heads/master by this push:
new 63f644d [LANG-1637] Fix 2 digit week year formatting (#688)
63f644d is described below
commit 63f644daa847e193d9f70791ef2337816f6409a6
Author: Uri Gonen <[email protected]>
AuthorDate: Wed Jan 6 22:51:14 2021 +0200
[LANG-1637] Fix 2 digit week year formatting (#688)
* LANG-1637: fix 2 digit week year formatting
* LANG-1637: added test cases for Y & YYY patterns
* LANG-1637: added test cases for Y & YYY patterns
* LANG-1637: added test cases for Y & YYY patterns
---
.../org/apache/commons/lang3/time/FastDatePrinter.java | 2 +-
.../apache/commons/lang3/time/FastDatePrinterTest.java | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java
b/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java
index 658e3ca..9778abc 100644
--- a/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java
+++ b/src/main/java/org/apache/commons/lang3/time/FastDatePrinter.java
@@ -1118,7 +1118,7 @@ public class FastDatePrinter implements DatePrinter,
Serializable {
*/
@Override
public final void appendTo(final Appendable buffer, final int value)
throws IOException {
- appendDigits(buffer, value);
+ appendDigits(buffer, value % 100);
}
}
diff --git
a/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java
b/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java
index 096cbbb..13ba5fe 100644
--- a/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java
+++ b/src/test/java/org/apache/commons/lang3/time/FastDatePrinterTest.java
@@ -432,4 +432,19 @@ public class FastDatePrinterTest {
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
assertEquals("7", printer.format(calendar.getTime()));
}
+
+ @DefaultLocale(language = "en", country = "US")
+ @DefaultTimeZone("America/New_York")
+ @Test
+ public void testWeekYear() {
+ final GregorianCalendar cal = new GregorianCalendar(2020, 12, 31, 0,
0, 0);
+ final DatePrinter printer4Digits = getInstance("YYYY");
+ final DatePrinter printer4DigitsFallback = getInstance("YYY");
+ final DatePrinter printer2Digits = getInstance("YY");
+ final DatePrinter printer4DigitAnotherFallback = getInstance("Y");
+ assertEquals("2021", printer4Digits.format(cal));
+ assertEquals("2021", printer4DigitsFallback.format(cal));
+ assertEquals("2021", printer4DigitAnotherFallback.format(cal));
+ assertEquals("21", printer2Digits.format(cal));
+ }
}