diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java b/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java index c41f74aa00f..9730ad6a833 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java @@ -4241,10 +4241,33 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable 0 && min.getScript().length() == 0 ) { + ULocale max = ULocale.addLikelySubtags(locale); + ULocale.Builder builder = new ULocale.Builder(); + builder.setLocale(max); + if (min.getScript().length() == 0) { + builder.setScript(null); + } + useLocale = builder.build(); + } else { + useLocale = locale; + } + CalendarData calData = new CalendarData(locale, getType()); - int[] dateTimeElements = calData.get("DateTimeElements").getIntVector(); - int[] weekend = calData.get("weekend").getIntVector(); + CalendarData wkData = new CalendarData(useLocale, getType()); + int[] dateTimeElements = wkData.get("DateTimeElements").getIntVector(); + int[] weekend = wkData.get("weekend").getIntVector(); data = new WeekData(dateTimeElements[0],dateTimeElements[1], weekend[0], weekend[1], diff --git a/icu4j/main/shared/data/icudata.jar b/icu4j/main/shared/data/icudata.jar index be5a160648e..8f2eb985e84 100755 --- a/icu4j/main/shared/data/icudata.jar +++ b/icu4j/main/shared/data/icudata.jar @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:977342bb1aba0c12fd661aa4476b63cad1e5603e99b1abaf4eec276b4e21740e -size 7469197 +oid sha256:6c7451af00c4f9bcf0a42b126ff9170c525eb83849f01ff34245daf947875765 +size 7080727 diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatRegressionTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatRegressionTest.java index 541f727e1f4..1a75e199768 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatRegressionTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatRegressionTest.java @@ -901,17 +901,17 @@ public class DateFormatRegressionTest extends com.ibm.icu.dev.test.TestFmwk { final PatternAndResult[] tests = { new PatternAndResult( "dd MMM yyyy GGG", "02 Jul 2008 AD" ), new PatternAndResult( "dd MMM yyyy GGGGG", "02 Jul 2008 A" ), - new PatternAndResult( "e dd MMM yyyy", "3 02 Jul 2008" ), - new PatternAndResult( "ee dd MMM yyyy", "03 02 Jul 2008" ), - new PatternAndResult( "c dd MMM yyyy", "3 02 Jul 2008" ), - new PatternAndResult( "cc dd MMM yyyy", "3 02 Jul 2008" ), + new PatternAndResult( "e dd MMM yyyy", "4 02 Jul 2008" ), + new PatternAndResult( "ee dd MMM yyyy", "04 02 Jul 2008" ), + new PatternAndResult( "c dd MMM yyyy", "4 02 Jul 2008" ), + new PatternAndResult( "cc dd MMM yyyy", "4 02 Jul 2008" ), new PatternAndResult( "eee dd MMM yyyy", "Wed 02 Jul 2008" ), new PatternAndResult( "EEE dd MMM yyyy", "Wed 02 Jul 2008" ), new PatternAndResult( "EE dd MMM yyyy", "Wed 02 Jul 2008" ), new PatternAndResult( "eeee dd MMM yyyy", "Wednesday 02 Jul 2008" ), new PatternAndResult( "eeeee dd MMM yyyy", "W 02 Jul 2008" ), - new PatternAndResult( "e ww YYYY", "3 27 2008" ), - new PatternAndResult( "c ww YYYY", "3 27 2008" ), + new PatternAndResult( "e ww YYYY", "4 27 2008" ), + new PatternAndResult( "c ww YYYY", "4 27 2008" ), }; ULocale loc = ULocale.ENGLISH; TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");