18 #include "modules/NvMultiObjectTracker/nvdstracker.h"
20 #ifndef UTILITY_TIMESTAMP_HPP
21 #define UTILITY_TIMESTAMP_HPP
29 std::chrono::duration_cast<std::chrono::system_clock::duration>(
47 return std::chrono::duration_cast<std::chrono::nanoseconds>(m_timePoint.time_since_epoch()).count();
62 TimeStamp nanoseconds = std::chrono::duration_cast<std::chrono::nanoseconds>(m_timePoint - time).count();
63 return getStrTimeFromNanoseconds(nanoseconds,
"%H:%M:%S");
70 return getStrTimeFromNanoseconds(nanoseconds,
"%Y-%m-%d %H:%M:%S");
81 std::string getStrTimeFromNanoseconds(
TimeStamp nanoseconds, std::string
format)
85 std::time_t seconds =
static_cast<std::time_t
>(nanoseconds / 1000000000ULL);
86 TimeStamp frac_ns = nanoseconds % 1000000000ULL;
89 localtime_s(&tm, &seconds);
91 localtime_r(&seconds, &tm);
93 ss << std::put_time(&tm,
format.c_str()) <<
"." << std::setfill(
'0') << std::setw(6) << frac_us;
98 #endif // UTILITY_TIMESTAMP_HPP