Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
830 views
in Technique[技术] by (71.8m points)

c - Convert timeval to time_t

How do I convert timeval to time_t? I'm trying to convert: umtp->ut_tv to a time_t so I can use a 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 */
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

time_t just stores seconds, so

 time_t time = (time_t)ut_tv.tv_sec;

Should work, but since you're just looking for a difference, there's always the magic of subtraction.

struct timeval diff = {a.tv_sec-b.tv_sec, a.tv_usec-b.tv_usec};

This lets you keep all the precision you had before.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...