2

我见过很多使用 time_t 的示例,但 timestamp_t 让我感到困惑……我正在做一项任务,我们需要打印出 GPS 数据,并且 gps 设备返回一个类型 timestamp_t 的时间戳和它的纪元时间。我试过使用 gmtime() 来转换和 strftime() 但没有任何东西适用于那种类型。它一直告诉我,如果我尝试使用它们,它就无法将 timestamp_t* 转换为 time_t。

任何人都知道任何可以将 timestamp_t 转换为人类可读时间的函数吗?

谢谢

4

1 回答 1

2

This site enter link description here表示它是带有小数部分的 unix 时间戳。假设这意味着小数左边的数字是自 1970 年 1 月 1 日以来的秒数,并且“小数”部分是一秒的小数部分,您可以去掉整数部分并使用 ctime():

#include <time.h>

time_t seconds;
timestamp_t ts = 1415000462.999000;

seconds = (time_t) timestamp_t;

printf("Time: %s\n", ctime(&seconds));

这当然会忽略一秒的小数部分,但您应该能够轻松处理。

于 2014-11-03T07:43:59.557 回答