From b33cab0a51e9e3391389dd68da936f3f7042dba5 Mon Sep 17 00:00:00 2001 From: Travis Keep Date: Thu, 21 Mar 2013 16:43:17 +0000 Subject: [PATCH] ICU-9914 DateIntervalFormat to handle 2 year vs. 4 year formats in ICU4J. X-SVN-Rev: 33447 --- .../com/ibm/icu/text/DateIntervalFormat.java | 4 ++- .../test/format/DateIntervalFormatTest.java | 33 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java index 445c5fdcabc..63fde87f06f 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java @@ -1229,7 +1229,9 @@ public class DateIntervalFormat extends UFormat { /* generate normalized form for date*/ if ( yCount != 0 ) { - normalizedDateSkeleton.append('y'); + for (i = 0; i < yCount; i++) { + normalizedDateSkeleton.append('y'); + } } if ( MCount != 0 ) { if ( MCount < 3 ) { diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateIntervalFormatTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateIntervalFormatTest.java index db041e67635..a724f554fd5 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateIntervalFormatTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateIntervalFormatTest.java @@ -1358,4 +1358,37 @@ public class DateIntervalFormatTest extends com.ibm.icu.dev.test.TestFmwk { dif.format(from, to, new StringBuffer(), new FieldPosition(0)) .toString()); } + + public void TestTicket9914() { + DateIntervalInfo dateIntervalInfo = + new DateIntervalInfo(ULocale.ENGLISH); + + Calendar from = Calendar.getInstance(); + Calendar to = Calendar.getInstance(); + from.set(113, 3, 26); + to.set(113, 3, 28); + DateIntervalFormat dif = DateIntervalFormat.getInstance( + "yyyyMd", ULocale.ENGLISH, dateIntervalInfo); + assertEquals( + "yyyyMd skeleton.", + "4/26/0113 \u2013 4/28/0113", + dif.format(from, to, new StringBuffer(), new FieldPosition(0)) + .toString()); + + dif = DateIntervalFormat.getInstance( + "yyMd", ULocale.ENGLISH, dateIntervalInfo); + assertEquals( + "yyMd skeleton.", + "4/26/13 \u2013 4/28/13", + dif.format(from, to, new StringBuffer(), new FieldPosition(0)) + .toString()); + + dif = DateIntervalFormat.getInstance( + "yMd", ULocale.ENGLISH, dateIntervalInfo); + assertEquals( + "yMd skeleton.", + "4/26/113 \u2013 4/28/113", + dif.format(from, to, new StringBuffer(), new FieldPosition(0)) + .toString()); + } } -- 2.40.0