获取到微秒级别的时间戳。在树莓派上。

13 浏览
0 Comments

获取到微秒级别的时间戳。在树莓派上。

我正在尝试在我的程序中获取微秒级的时间戳:

time_t t = time(NULL);
struct tm tm = *localtime(&t);
Buffer[Size-1] = 0;
char* BufferAsString = (char*)(Buffer+header_size);
if (strstr(BufferAsString,"Laptop Timestamp")){
    fprintf(timestampFile, "now: %d-%02d-%02d %02d:%02d:%02d\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
    fprintf(timestampFile,BufferAsString);
    fprintf(timestampFile,"\n");
    fflush(timestampFile);
}

目前这样产生的结果是:

now: 2021-09-19 10:46:07

但我希望它是这样的:

now: 2021-09-19 10:46:06.98164

根据这个网页(https://www.cplusplus.com/reference/ctime/tm/),我不认为tm可以精确到这个程度。

有没有其他方法可以实现这个目标?

我正在使用一台运行最新版本的Raspbian的树莓派4。

0