如何将一个时间戳_t转换为一个真实的时间?

问题描述 投票:2回答:1

我看过很多使用time_t的例子,但timestamp_t让我很困惑...... 我正在做一个任务,我们需要打印出GPS数据,和GPS设备返回一个类型的timestamp_t为它的时间戳和它的时代时间。我试过使用gmtime()来转换和strftime(),但没有任何工作在该类型。如果我尝试使用它们,它一直告诉我不能将timestamp_t*转换为time_t。

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

谢谢

c++ c gps raspberry-pi gpsd
1个回答
2
投票

这个网站 请在此输入链接描述 表示这是一个带小数部分的unix时间戳。 假设这意味着小数点左边的数字是111970以来的秒数,而 "小数 "部分是一秒的小数部分,你可以去掉整数部分并使用ctime()。

#include <time.h>

time_t seconds;
timestamp_t ts = 1415000462.999000;

seconds = (time_t) timestamp_t;

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

这当然会忽略一秒的小数部分 但你应该可以很容易地处理。

© www.soinside.com 2019 - 2024. All rights reserved.