]> granicus.if.org Git - icu/commitdiff
ICU-9914 DateIntervalFormat to handle 2 year vs. 4 year formats in ICU4J.
authorTravis Keep <keep94@gmail.com>
Thu, 21 Mar 2013 16:43:17 +0000 (16:43 +0000)
committerTravis Keep <keep94@gmail.com>
Thu, 21 Mar 2013 16:43:17 +0000 (16:43 +0000)
X-SVN-Rev: 33447

icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java
icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateIntervalFormatTest.java

index 445c5fdcabc24b96369ed7503dc7a84c3c7041d2..63fde87f06f09aea78b458793e9cdaa890c02c93 100644 (file)
@@ -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 ) {
index db041e6763560d1020c88397fc7f167848297a4a..a724f554fd5d451993682aaa441ee2a69f88977a 100644 (file)
@@ -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());
+    }
 }