我尝试了
clock_gettime()
和timespec_get()
,但有什么区别?
谁能帮我找出
clock_gettime()
和timespec_get()
之间的区别?
clock_gettime(clockid_t, struct timespec *)
(在time.h
中声明)可以根据clockid_t
返回不同的时间值。您应该阅读手册页。
timespec_get(struct timespec *, int)
(也在time.h
中声明)将对象值设置为自纪元以来的时间(1.1.1970,午夜)。
理想情况下,这应该与使用
clock_gettime()
调用 clockid_t
为 CLOCK_REALTIME
相同。
这里的第二个参数是基准或时区。因此,使用
TIME_UTC
将给出 GMT。
并非所有 C 编译器在每个平台上都支持这一点。 评论后编辑:
timespec_get()
在 ISO C11 标准中标准化。clock_gettime()
,但是由 POSIX 标准标准化,并且在可用的系统上,符号 _POSIX_TIMERS
设置为非零值(在 unistd.h
中)。