diff --git a/src/util/time.cpp b/src/util/time.cpp --- a/src/util/time.cpp +++ b/src/util/time.cpp @@ -89,6 +89,13 @@ template std::chrono::milliseconds GetTime(); template std::chrono::microseconds GetTime(); +template static T GetSystemTime() { + const auto now = std::chrono::duration_cast( + std::chrono::system_clock::now().time_since_epoch()); + assert(now.count() > 0); + return now; +} + void SetMockTime(int64_t nMockTimeIn) { assert(nMockTimeIn >= 0); nMockTime.store(nMockTimeIn, std::memory_order_relaxed); @@ -99,23 +106,15 @@ } int64_t GetTimeMillis() { - int64_t now = (boost::posix_time::microsec_clock::universal_time() - - boost::posix_time::ptime(boost::gregorian::date(1970, 1, 1))) - .total_milliseconds(); - assert(now > 0); - return now; + return int64_t{GetSystemTime().count()}; } int64_t GetTimeMicros() { - int64_t now = (boost::posix_time::microsec_clock::universal_time() - - boost::posix_time::ptime(boost::gregorian::date(1970, 1, 1))) - .total_microseconds(); - assert(now > 0); - return now; + return int64_t{GetSystemTime().count()}; } int64_t GetTimeSeconds() { - return GetTimeMicros() / 1000000; + return int64_t{GetSystemTime().count()}; } std::string FormatISO8601DateTime(int64_t nTime) {