diff options
Diffstat (limited to 'Build/source/libs/icu/icu-src/source/i18n/calendar.cpp')
-rw-r--r-- | Build/source/libs/icu/icu-src/source/i18n/calendar.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Build/source/libs/icu/icu-src/source/i18n/calendar.cpp b/Build/source/libs/icu/icu-src/source/i18n/calendar.cpp index 092dc4c1d9e..526a5a70b4a 100644 --- a/Build/source/libs/icu/icu-src/source/i18n/calendar.cpp +++ b/Build/source/libs/icu/icu-src/source/i18n/calendar.cpp @@ -3223,14 +3223,14 @@ int32_t Calendar::handleComputeJulianDay(UCalendarDateFields bestField) { bestField == UCAL_DAY_OF_WEEK_IN_MONTH); int32_t year; - if (bestField == UCAL_WEEK_OF_YEAR) { - year = internalGet(UCAL_YEAR_WOY, handleGetExtendedYear()); - internalSet(UCAL_EXTENDED_YEAR, year); + if (bestField == UCAL_WEEK_OF_YEAR && newerField(UCAL_YEAR_WOY, UCAL_YEAR) == UCAL_YEAR_WOY) { + year = internalGet(UCAL_YEAR_WOY); } else { year = handleGetExtendedYear(); - internalSet(UCAL_EXTENDED_YEAR, year); } + internalSet(UCAL_EXTENDED_YEAR, year); + #if defined (U_DEBUG_CAL) fprintf(stderr, "%s:%d: bestField= %s - y=%d\n", __FILE__, __LINE__, fldName(bestField), year); #endif |