diff options
Diffstat (limited to 'http/utility.hpp')
-rw-r--r-- | http/utility.hpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/http/utility.hpp b/http/utility.hpp index 557926761c..62a4eb0f44 100644 --- a/http/utility.hpp +++ b/http/utility.hpp @@ -594,9 +594,8 @@ inline std::string getDateTime(boost::posix_time::milliseconds timeSinceEpoch) // date. This behavior is to avoid exceptions throwed by Boost. inline std::string getDateTimeUint(uint64_t secondsSinceEpoch) { - - boost::posix_time::seconds boostSeconds( - std::min(secondsSinceEpoch, details::maxSeconds)); + secondsSinceEpoch = std::min(secondsSinceEpoch, details::maxSeconds); + boost::posix_time::seconds boostSeconds(secondsSinceEpoch); return details::getDateTime( boost::posix_time::milliseconds(boostSeconds.total_milliseconds())); } @@ -607,14 +606,20 @@ inline std::string getDateTimeUint(uint64_t secondsSinceEpoch) // supported date. inline std::string getDateTimeUintMs(uint64_t milliSecondsSinceEpoch) { - return details::getDateTime(boost::posix_time::milliseconds( - std::min(details::maxMilliSeconds, milliSecondsSinceEpoch))); + milliSecondsSinceEpoch = + std::min(details::maxMilliSeconds, milliSecondsSinceEpoch); + return details::getDateTime( + boost::posix_time::milliseconds(milliSecondsSinceEpoch)); } inline std::string getDateTimeStdtime(std::time_t secondsSinceEpoch) { - boost::posix_time::ptime time = boost::posix_time::from_time_t( - std::min(secondsSinceEpoch, std::time_t{details::maxSeconds})); + if (secondsSinceEpoch > static_cast<int64_t>(details::maxSeconds)) + { + secondsSinceEpoch = static_cast<std::time_t>(details::maxSeconds); + } + boost::posix_time::ptime time = + boost::posix_time::from_time_t(secondsSinceEpoch); return boost::posix_time::to_iso_extended_string(time) + "+00:00"; } |