主要函数是timespec_get
,可参考https://zh.cppreference.com/w/c/chrono/timespec_get。
#include <time.h>
std::string time_in_nanoseconds()
{
struct timespec ts;
timespec_get(&ts, TIME_UTC);
static char buff[64];
int end = strftime(buff, sizeof buff, "%Y-%m-%d %H:%M:%S", gmtime(&ts.tv_sec));
sprintf(buff + end, " %09ld", ts.tv_nsec);
return buff;
}
Q. E. D.