如何将timeval转换为time_t?我正在尝试转换:
umtp-> ut_tv到time_t,所以我可以使用difftime(a,b)。
struct {
int32_t tv_sec; /* Seconds */
int32_t tv_usec; /* Microseconds */
} ut_tv; /* Time entry was made */
struct timeval ut_tv; /* Time entry was made */
最佳答案
time_t
仅存储秒,所以
time_t time = (time_t)ut_tv.tv_sec;
应该可以,但是既然您只是在寻找差异,那么总会有减法的魔力。
struct timeval diff = {a.tv_sec-b.tv_sec, a.tv_usec-b.tv_usec};
这使您可以保持以前的所有精度。