该函数是否clock_gettime返回从UTC或本地时区的纪元测量的时间戳?
我知道这time应该是来自UTC时代,但我找不到任何提到同样的说法clock_gettime.
实际上,这个问题没有多大意义.有关时间相关功能的概述,请参见时间(7).
任何时钟设备都会返回过去从某个原点事件测量的时间.Unix(和Posix)惯例是从Epoch(1970年开始,如aix的答案解释)来衡量它.
以UTC或当地时间显示某些时间,或使用法国革命日历,或使用Maya日历,或您感兴趣的任何文化的任何其他日历,都不会改变时间.只有那个时间的显示(或显示的形式)会发生变化.
这有点像说两个,deux,1 + 1,或2,或10b- b表示二进制 - 都是相同数字的表示.
回到这个问题,clock_gettime的手册页给出了问题的准确答案.这取决于clk_id你要求的,CLOCK_REALTIME因为自Unix时代以来测量的时间.对于其他时钟(例如CLOCK_MONOTONIC),未指定使用的原点.
(我很遗憾的是由可通过查看很快得到回答的问题在这里的数量感到惊讶的人.我不明白的人花更多的时间来这里问这个问题的逻辑通过键入看-只是 man clock_gettime在他们的Linux盒子 - 进入手册页).
时区的概念仅与本地时间和 (及相关)函数struct tm返回的相关.从Epoch测量的时间(例如一些)(如时间(2)的结果,gettimeofday,with )没有时区.gmtimetime_tclock_gettimeCLOCK_REALTIME
Unix Epoch是1970年1月1日0:00 UTC(根据定义(time_t)0),在我的时区(MET =巴黎/法国),相同的Epoch是Thu Jan 1 01:00:00 MET 1970.