From 78a16b6a99e154199622dca55d9dcf6d0d5e2927 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sun, 6 Mar 2022 16:52:00 -0600 Subject: [PATCH] Don't display epoch on map overlay --- scwx-qt/source/scwx/qt/map/overlay_layer.cpp | 3 ++- wxdata/include/scwx/util/time.hpp | 3 ++- wxdata/source/scwx/util/time.cpp | 20 ++++++++++++-------- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/scwx-qt/source/scwx/qt/map/overlay_layer.cpp b/scwx-qt/source/scwx/qt/map/overlay_layer.cpp index dad34a9b..02010f97 100644 --- a/scwx-qt/source/scwx/qt/map/overlay_layer.cpp +++ b/scwx-qt/source/scwx/qt/map/overlay_layer.cpp @@ -103,7 +103,8 @@ void OverlayLayer::Render(const QMapbox::CustomLayerRenderParameters& params) { p->sweepTimeString_ = scwx::util::TimeString(context()->radarProductView_->sweep_time(), - std::chrono::current_zone()); + std::chrono::current_zone(), + false); p->sweepTimeNeedsUpdate_ = false; } diff --git a/wxdata/include/scwx/util/time.hpp b/wxdata/include/scwx/util/time.hpp index 2f1be0d5..2887d227 100644 --- a/wxdata/include/scwx/util/time.hpp +++ b/wxdata/include/scwx/util/time.hpp @@ -11,7 +11,8 @@ std::chrono::system_clock::time_point TimePoint(uint16_t modifiedJulianDate, uint32_t milliseconds); std::string TimeString(std::chrono::system_clock::time_point time, - const std::chrono::time_zone* timeZone = nullptr); + const std::chrono::time_zone* timeZone = nullptr, + bool epochValid = true); } // namespace util } // namespace scwx diff --git a/wxdata/source/scwx/util/time.cpp b/wxdata/source/scwx/util/time.cpp index b3af417b..f3ec677e 100644 --- a/wxdata/source/scwx/util/time.cpp +++ b/wxdata/source/scwx/util/time.cpp @@ -22,20 +22,24 @@ std::chrono::system_clock::time_point TimePoint(uint16_t modifiedJulianDate, } std::string TimeString(std::chrono::system_clock::time_point time, - const std::chrono::time_zone* timeZone) + const std::chrono::time_zone* timeZone, + bool epochValid) { using namespace std::chrono; auto timeInSeconds = time_point_cast(time); std::ostringstream os; - if (timeZone != nullptr) + if (epochValid || time.time_since_epoch().count() != 0) { - zoned_time zt = {current_zone(), timeInSeconds}; - os << zt; - } - else - { - os << timeInSeconds; + if (timeZone != nullptr) + { + zoned_time zt = {current_zone(), timeInSeconds}; + os << zt; + } + else + { + os << timeInSeconds; + } } return os.str();