首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将timeval转换为time_t

将timeval转换为time_t
EN

Stack Overflow用户
提问于 2012-02-13 05:30:18
回答 2查看 26.7K关注 0票数 7

如何将timeval转换为time_t?我正在尝试将: umtp->ut_tv转换为time_t,这样我就可以使用difftime(a,b)。

代码语言:javascript
复制
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 */
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-13 05:36:06

time_t只存储秒,所以

代码语言:javascript
复制
 time_t time = (time_t)ut_tv.tv_sec;

应该行得通,但既然你只是在寻找不同之处,减法总是有魔力的。

代码语言:javascript
复制
struct timeval diff = {a.tv_sec-b.tv_sec, a.tv_usec-b.tv_usec};

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

票数 12
EN

Stack Overflow用户

发布于 2013-10-17 14:26:28

在不使用c-cast的情况下,您可以简单地这样做:

代码语言:javascript
复制
struct timeval rawtime_s_us;
gettimeofday( &rawtime_s_us, NULL );
time_t rawtime_s = rawtime_s_us.tv_sec;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9252849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档