From ff368385797c26ad5fe2a70bfb44bc953bb1c628 Mon Sep 17 00:00:00 2001 From: sunyaozu Date: Fri, 28 Oct 2022 09:21:30 +0800 Subject: [PATCH] add GetTimeSeparator interface Signed-off-by: sunyaozu --- frameworks/i18n/include/date_time_format_impl.h | 1 + frameworks/i18n/src/date_time_format.cpp | 11 +++++++++++ frameworks/i18n/src/date_time_format_impl.cpp | 10 ++++++++++ interfaces/kits/i18n/include/date_time_format.h | 9 +++++++++ 4 files changed, 31 insertions(+) diff --git a/frameworks/i18n/include/date_time_format_impl.h b/frameworks/i18n/include/date_time_format_impl.h index 4033516..d59a210 100644 --- a/frameworks/i18n/include/date_time_format_impl.h +++ b/frameworks/i18n/include/date_time_format_impl.h @@ -73,6 +73,7 @@ public: int8_t Get12HourTimeWithoutAmpm(const time_t &cal, const std::string &zoneInfo, std::string &appendTo, I18nStatus &status) const; std::string FormatElapsedDuration(int32_t milliseconds, ElapsedPatternType type, I18nStatus &status) const; + std::string GetTimeSeparator(); private: void FreeResource(); void Format(const struct tm &time, const std::string &pattern, std::string &appendTo, I18nStatus &status) const; diff --git a/frameworks/i18n/src/date_time_format.cpp b/frameworks/i18n/src/date_time_format.cpp index d162171..0da3269 100644 --- a/frameworks/i18n/src/date_time_format.cpp +++ b/frameworks/i18n/src/date_time_format.cpp @@ -173,4 +173,15 @@ std::string DateTimeFormat::FormatElapsedDuration(int32_t milliseconds, ElapsedP } } return impl->FormatElapsedDuration(milliseconds, type, status); +} + +std::string DateTimeFormat::GetTimeSeparator() +{ + if (impl == nullptr) { + bool isSuccess = Init(); + if (!isSuccess) { + return ""; + } + } + return impl->GetTimeSeparator(); } \ No newline at end of file diff --git a/frameworks/i18n/src/date_time_format_impl.cpp b/frameworks/i18n/src/date_time_format_impl.cpp index 4821c4f..21e1fdd 100644 --- a/frameworks/i18n/src/date_time_format_impl.cpp +++ b/frameworks/i18n/src/date_time_format_impl.cpp @@ -586,4 +586,14 @@ void DateTimeFormatImpl::FormatElapsed(const struct ElapsedTime &time, char pre, return; } } +} + +std::string DateTimeFormatImpl::GetTimeSeparator() +{ + std::string ret = ""; + if (data == nullptr) { + return ret; + } + ret.append(1, data->GetTimeSeparator()); + return ret; } \ No newline at end of file diff --git a/interfaces/kits/i18n/include/date_time_format.h b/interfaces/kits/i18n/include/date_time_format.h index b812d0e..eb09103 100644 --- a/interfaces/kits/i18n/include/date_time_format.h +++ b/interfaces/kits/i18n/include/date_time_format.h @@ -176,6 +176,15 @@ public: * @return the formatted string. */ std::string FormatElapsedDuration(int32_t milliseconds, ElapsedPatternType type, I18nStatus &status); + + /** + * @brief Obtains the time separator. + * + * @return Returns the time separator. + * @since 2.2 + * @version 1.0 + */ + std::string GetTimeSeparator(); private: DateTimeFormatImpl *impl = nullptr; LocaleInfo locale; -- Gitee