1 #include "artdaq-core/Utilities/TimeUtils.hh"
2 #include <boost/date_time/posix_time/posix_time.hpp>
4 namespace BPT = boost::posix_time;
10 BPT::ptime posixTime = BPT::from_time_t(inputUnixTime);
11 std::string workingString = BPT::to_simple_string(posixTime);
12 workingString.append(
" UTC");
21 BPT::ptime posixTime = BPT::from_time_t(inputUnixTime.tv_sec);
22 std::string workingString = BPT::to_simple_string(posixTime);
25 char fractionalString[20];
26 sprintf(fractionalString,
"%06d", static_cast<int32_t>(inputUnixTime.tv_usec));
27 workingString.append(
".");
28 workingString.append(fractionalString);
29 workingString.append(
" UTC");
38 BPT::ptime posixTime = BPT::from_time_t(inputUnixTime.tv_sec);
39 std::string workingString = BPT::to_simple_string(posixTime);
42 char fractionalString[20];
43 sprintf(fractionalString,
"%09ld", inputUnixTime.tv_nsec);
44 workingString.append(
".");
45 workingString.append(fractionalString);
46 workingString.append(
" UTC");
54 gettimeofday(&tv, NULL);
55 return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
58 struct timespec artdaq::TimeUtils::get_realtime_clock()
61 clock_gettime(CLOCK_REALTIME, &ts);
68 return static_cast<double>(inputUnixTime);
74 return static_cast<double>(inputUnixTime.tv_sec) + inputUnixTime.tv_usec / 1000000.0;
80 return static_cast<double>(inputUnixTime.tv_sec) + inputUnixTime.tv_nsec / 1000000000.0;
double convertUnixTimeToSeconds(time_t inputUnixTime)
Converts a Unix time to double.
std::string convertUnixTimeToString(time_t inputUnixTime)
Converts a Unix time to its string representation, in UTC.
uint64_t gettimeofday_us()
Get the current time of day in microseconds (from gettimeofday system call)