0

如何将 timeval 转换为 time_t?我正在尝试转换:

struct timeval tv;
time_t tm;
tm = (time_t)tv;

就是这个?

4

2 回答 2

1

timeval 定义为:

struct timeval {
    time_t      tv_sec;  // seconds
    suseconds_t tv_usec; // and microseconds
};

time_t 定义为:

typedef long time_t;

timeval 结构用于指定时间间隔,但 time_t 用于指定时间(自 Epoch 以来的秒数)。如果你坚持要转换它,你需要选择一个 timeval 的 tv_sec:

tm = tv.tv_sec;
于 2013-06-06T01:55:25.370 回答
0

定义(来自man gettimeofday

struct timeval {
           time_t      tv_sec;     /* seconds */
           suseconds_t tv_usec;    /* microseconds */
};

所以你需要做

tm=tv.tv_sec;
于 2013-06-06T01:51:06.097 回答