我见过很多使用 time_t 的例子,但是 timestamp_t 让我感到困惑...... 我正在做一个作业,我们需要打印出 GPS 数据,并且 GPS 设备返回一个类型 timestamp_t 来表示它的时间戳和纪元时间。我尝试过使用 gmtime() 进行转换和 strftime() 但对该类型没有任何作用。它一直告诉我,如果我尝试使用它们,它无法将 timestamp_t* 转换为 time_t。
有人知道可以将 timestamp_t 转换为人类可读时间的函数吗?
谢谢
最佳答案
此网站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));
这当然忽略了秒的小数部分,但是 你应该能够轻松处理这个问题。
关于c++ - 如何将timestamp_t转换为实际时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26709107/