如何将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 */发布于 2012-02-13 05:36:06
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};这使您可以保持以前拥有的所有精度。
发布于 2013-10-17 14:26:28
在不使用c-cast的情况下,您可以简单地这样做:
struct timeval rawtime_s_us;
gettimeofday( &rawtime_s_us, NULL );
time_t rawtime_s = rawtime_s_us.tv_sec;https://stackoverflow.com/questions/9252849
复制相似问题