14

struct timevaltv_sec用两个成员(秒)和tv_usec(微秒)表示和即时。在这个表示中,tv_usec它本身并不是一个绝对时间,它是一个亚秒级的偏移量tv_sec

struct timespec工作方式相同,只是它的偏移量 ( tv_nsec) 不是以微秒为单位存储的,而是以纳秒为单位。

问题是:这两者之间是否有标准的转换方式?

4

2 回答 2

17

sys/time.h两个宏可以做你想做的事:

TIMEVAL_TO_TIMESPEC(X, Y)

TIMESPEC_TO_TIMEVAL(X, Y)

请参阅此处的文档:http ://www.daemon-systems.org/man/TIMEVAL_TO_TIMESPEC.3.html

于 2014-11-05T11:36:59.920 回答
16

看看这个文档,我认为乘以tv_usec1000 就足够了tv_nsec

更重要的是,我怀疑是不同结构的来源:它们可以由不同的时钟填充。

于 2009-10-24T16:30:49.150 回答