diff --git a/ecmascript/js_date_time_format.cpp b/ecmascript/js_date_time_format.cpp index 6a4c8779ea44ebb039f4622cf1096221a3b42186..5c8aa465c2f5139f69d56eb5f03fc9dfcfc55980 100644 --- a/ecmascript/js_date_time_format.cpp +++ b/ecmascript/js_date_time_format.cpp @@ -321,9 +321,11 @@ JSHandle JSDateTimeFormat::InitializeDateTimeFormat(JSThread * ASSERT_PRINT(U_SUCCESS(status), "constructGenerator failed"); HourCycleOption hcDefault = OptionToHourCycle(generator->getDefaultHourCycle(status)); // b. Let hc be dateTimeFormat.[[HourCycle]]. - HourCycleOption hc = HourCycleOption::UNDEFINED; - hc = (hourCycle == HourCycleOption::UNDEFINED) ? OptionToHourCycle(resolvedLocale.extensions.find("hc")->second) : - hourCycle; + HourCycleOption hc = hourCycle; + if (hourCycle == HourCycleOption::UNDEFINED + && resolvedLocale.extensions.find("hc") != resolvedLocale.extensions.end()) { + hc = OptionToHourCycle(resolvedLocale.extensions.find("hc")->second); + } // c. If hc is null, then // i. Set hc to hcDefault. if (hc == HourCycleOption::UNDEFINED) {