如何将时间戳t转换为实时

how to convert a timestamp_t to a real time?

本文关键字:转换 实时 时间戳      更新时间:2023-10-16

我看到了很多使用time_t的例子,但timestamp_t让我感到困惑。。。我正在做一项任务,我们需要打印出GPS数据,GPS设备返回其时间戳和历元时间的类型timestamp_t。我尝试过使用gmtime()来转换和strftime(),但对那种类型没有任何作用。它一直告诉我,如果我尝试使用timestamp_t*,它就无法将其转换为time_t。

有人知道有什么函数可以将时间戳_t转换为人类可读的时间吗?

感谢

此站点在此处输入链接描述表示它是一个带有小数部分的unix时间戳。假设这意味着小数点左边的数字是自1970年1月1日以来的秒数,并且"decimal"分量是1秒的小数部分,则可以去掉整数分量并使用ctime():

#include <time.h>
time_t seconds;
timestamp_t ts = 1415000462.999000;
seconds = (time_t) timestamp_t;
printf("Time: %sn", ctime(&seconds));

这当然忽略了一秒钟的小数部分,但是你应该能够轻松处理。