簡體   English   中英

將timeval轉換為time_t

[英]Convert timeval to time_t

如何將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};

這使您可以保持以前的所有精度。

不使用c-cast,您可以簡單地執行此操作:

struct timeval rawtime_s_us;
gettimeofday( &rawtime_s_us, NULL );
time_t rawtime_s = rawtime_s_us.tv_sec;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM