【发布时间】:2018-05-11 22:38:16
【问题描述】:
有人可以建议我如何使用
检索 linux 时间结构时间规范
类型?它只是给了我自 Epoch 以来的时间。我可以使用这种数据类型获得实际的 Linux 时间吗?
背景简介:我正在嵌入式设备上编写一个记录器实用程序,其时间戳分辨率以毫秒/微秒为单位。源添加了目标组件使用的时间戳。
struct stLogItem logitem; //stLogItem has a member, struct timespec ts
clock_gettime(clk_id, &logitem.ts);
目标组件正在文件/控制台上打印此日志时间戳。但是打印出来的日期是自 Epoch 以来的时间,而不是实际的 Linux 日期。
打印出来的数据是: 1970-01-01 23:30:07.586864475
而 Linux 日期不同,如下所示:
root@imh:# 日期
2017 年 11 月 14 日星期二 11:34:12 UTC
不是格式问题。它是关于获取当前的 Linux 时间(以纳秒为单位)。
【问题讨论】:
-
什么是“实际 Linux 时间”?距离 Linus 第一次宣布的时间? :)
-
你可能想看看
localtime*()。 -
UTC 2017 年 11 月 14 日星期二 10:06:34(在 shell 上输入“日期”后)
-
Google 如何在 linux c 中获取日期和时间。时间(),本地时间()
-
这个更新还不够。您需要显示产生无效输出的实际代码。