Lines Matching refs:icu

99 icu::Locale *JSDateTimeFormat::GetIcuLocale() const
103 return reinterpret_cast<icu::Locale *>(result);
108 const icu::Locale &icuLocale, const NativePointerCallback &callback)
112 icu::Locale *icuPointer = ecmaVm->GetNativeAreaAllocator()->New<icu::Locale>(icuLocale);
129 auto icuLocale = reinterpret_cast<icu::Locale *>(pointer);
136 icu::SimpleDateFormat *JSDateTimeFormat::GetIcuSimpleDateFormat() const
140 return reinterpret_cast<icu::SimpleDateFormat *>(result);
145 const icu::SimpleDateFormat &icuSimpleDateTimeFormat, const NativePointerCallback &callback)
149 icu::SimpleDateFormat *icuPointer =
150 ecmaVm->GetNativeAreaAllocator()->New<icu::SimpleDateFormat>(icuSimpleDateTimeFormat);
170 auto icuSimpleDateFormat = reinterpret_cast<icu::SimpleDateFormat *>(pointer);
198 icu::DateFormat::EStyle DateTimeStyleToEStyle(DateTimeStyleOption style)
202 return icu::DateFormat::kFull;
205 return icu::DateFormat::kLong;
208 return icu::DateFormat::kMedium;
211 return icu::DateFormat::kShort;
214 return icu::DateFormat::kNone;
217 return icu::DateFormat::kNone;
222 HourCycleOption HourCycleFromPattern(const icu::UnicodeString pattern)
259 icu::UnicodeString ReplaceSkeleton(const icu::UnicodeString input, HourCycleOption hc)
261 icu::UnicodeString result;
301 std::unique_ptr<icu::SimpleDateFormat> DateTimeStylePattern(DateTimeStyleOption dateStyle,
303 icu::Locale &icuLocale,
305 icu::DateTimePatternGenerator *generator)
307 std::unique_ptr<icu::SimpleDateFormat> result;
308 icu::DateFormat::EStyle icuDateStyle = DateTimeStyleToEStyle(dateStyle);
309 icu::DateFormat::EStyle icuTimeStyle = DateTimeStyleToEStyle(timeStyle);
310 result.reset(reinterpret_cast<icu::SimpleDateFormat *>(
311 icu::DateFormat::createDateTimeInstance(icuDateStyle, icuTimeStyle, icuLocale)));
313 icu::UnicodeString pattern("");
315 icu::UnicodeString skeleton = icu::DateTimePatternGenerator::staticGetSkeleton(pattern, status);
322 result = std::make_unique<icu::SimpleDateFormat>(pattern, icuLocale, status);
424 icu::Locale icuLocale = resolvedLocale.localeData;
437 icu::Locale resolvedIcuLocaleCopy(icuLocale);
455 std::unique_ptr<icu::TimeZone> icuTimeZone;
466 icuTimeZone = std::unique_ptr<icu::TimeZone>(icu::TimeZone::createDefault());
470 std::unique_ptr<icu::DateTimePatternGenerator> generator;
473 generator.reset(icu::DateTimePatternGenerator::createInstance(icuLocale, status));
477 THROW_REFERENCE_ERROR_AND_RETURN(thread, "can not find icu data resources", dateTimeFormat);
479 THROW_RANGE_ERROR_AND_RETURN(thread, "create icu::DateTimePatternGenerator failed", dateTimeFormat);
616 icu::UnicodeString dtfSkeleton(skeleton.c_str());
618 icu::UnicodeString pattern = ChangeHourCyclePattern(
621 auto simpleDateFormatIcu(std::make_unique<icu::SimpleDateFormat>(pattern, icuLocale, status));
630 simpleDateFormatIcu = std::unique_ptr<icu::SimpleDateFormat>();
633 std::unique_ptr<icu::Calendar> calendarPtr = BuildCalendar(icuLocale, *icuTimeZone);
682 icu::SimpleDateFormat *JSDateTimeFormat::GetCachedIcuSimpleDateFormat(JSThread *thread,
689 return reinterpret_cast<icu::SimpleDateFormat*>(cachedSimpleDateFormat);
916 icu::SimpleDateFormat *simpleDateFormat = dateTimeFormat->GetIcuSimpleDateFormat();
923 const icu::SimpleDateFormat *simpleDateFormat, double x)
932 icu::UnicodeString result;
948 icu::SimpleDateFormat *simpleDateFormat = dateTimeFormat->GetIcuSimpleDateFormat();
951 icu::FieldPositionIterator fieldPositionIter;
952 icu::UnicodeString formattedParts;
972 icu::FieldPosition fieldPosition;
1123 icu::SimpleDateFormat *icuSimpleDateFormat = dateTimeFormat->GetIcuSimpleDateFormat();
1124 const icu::Calendar *calendar = icuSimpleDateFormat->getCalendar();
1150 const icu::TimeZone &icuTZ = calendar->getTimeZone();
1151 icu::UnicodeString timezone;
1154 icu::UnicodeString canonicalTimezone;
1155 icu::TimeZone::getCanonicalID(timezone, canonicalTimezone, status);
1192 icu::UnicodeString patternUnicode;
1234 icu::FormattedDateInterval JSDateTimeFormat::ConstructDTFRange(JSThread *thread, const JSHandle<JSDateTimeFormat> &dtf,
1237 std::unique_ptr<icu::DateIntervalFormat> dateIntervalFormat(ConstructDateIntervalFormat(dtf));
1239 icu::FormattedDateInterval emptyValue;
1243 icu::DateInterval dateInterval(x, y);
1244 icu::FormattedDateInterval formatted = dateIntervalFormat->formatToValue(dateInterval, status);
1266 icu::FormattedDateInterval formatted = ConstructDTFRange(thread, dtf, x, y);
1272 icu::UnicodeString formatResult = formatted.toString(status);
1277 icu::ConstrainedFieldPosition cfpos;
1309 icu::FormattedDateInterval formatted = ConstructDTFRange(thread, dtf, x, y);
1330 const icu::FormattedDateInterval &formatted)
1333 icu::UnicodeString formattedValue = formatted.toTempString(status);
1364 icu::ConstrainedFieldPosition cfpos;
1481 icu::UnicodeString JSDateTimeFormat::ChangeHourCyclePattern(const icu::UnicodeString &pattern, HourCycleOption hc)
1486 icu::UnicodeString result;
1513 std::unique_ptr<icu::SimpleDateFormat> JSDateTimeFormat::CreateICUSimpleDateFormat(const icu::Locale &icuLocale,
1514 const icu::UnicodeString &skeleton,
1515 icu::DateTimePatternGenerator *gn,
1520 icu::UnicodeString pattern = ChangeHourCyclePattern(
1525 auto dateFormat(std::make_unique<icu::SimpleDateFormat>(pattern, icuLocale, status));
1527 return std::unique_ptr<icu::SimpleDateFormat>();
1533 std::unique_ptr<icu::Calendar> JSDateTimeFormat::BuildCalendar(const icu::Locale &locale, const icu::TimeZone &timeZone)
1536 std::unique_ptr<icu::Calendar> calendar(icu::Calendar::createInstance(timeZone, locale, status));
1552 if (calendar->getDynamicClassID() == icu::GregorianCalendar::getStaticClassID()) {
1553 auto gregorianCalendar = static_cast<icu::GregorianCalendar *>(calendar.get());
1562 std::unique_ptr<icu::TimeZone> JSDateTimeFormat::ConstructTimeZone(const std::string &timezone)
1565 return std::unique_ptr<icu::TimeZone>();
1569 std::unique_ptr<icu::TimeZone> tz(icu::TimeZone::createTimeZone(canonicalized.c_str()));
1571 return std::unique_ptr<icu::TimeZone>();
1806 std::unique_ptr<icu::DateIntervalFormat> JSDateTimeFormat::ConstructDateIntervalFormat(
1809 icu::SimpleDateFormat *icuSimpleDateFormat = dtf->GetIcuSimpleDateFormat();
1810 icu::Locale locale = *(dtf->GetIcuLocale());
1817 icu::UnicodeString pattern;
1821 icu::UnicodeString skeleton = icu::DateTimePatternGenerator::staticGetSkeleton(pattern, status);
1823 std::unique_ptr<icu::DateIntervalFormat> dateIntervalFormat(
1824 icu::DateIntervalFormat::createInstance(skeleton, locale, status));