62 inline std::string
IsoTime(
const double time_since_epoch,
const uint8_t precision) {
63 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
66 std::time_t whole_seconds =
static_cast<std::time_t
>(time_since_epoch);
67 double fractional_seconds = time_since_epoch - whole_seconds;
70 std::tm* gmt_time = std::gmtime(&whole_seconds);
71 std::ostringstream oss;
74 oss << std::put_time(gmt_time,
"%Y-%m-%dT%H:%M:");
77 oss << std::setw(2) << std::setfill(
'0') << gmt_time->tm_sec;
85 std::string fractional_str = fmt::format(
"{:.{}}", fractional_seconds, precision);
88 oss << fractional_str.substr(1);