如何将timeval转换为time_t?我正在尝试转换:
struct timeval tv;
time_t tm;
tm = (time_t)tv;
这是吗?
答案 0 :(得分: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以来的秒数)。如果你坚持要转换它,你需要选择时间的tv_sec:
tm = tv.tv_sec;
答案 1 :(得分:0)
定义(来自 man gettimeofday )
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
所以你需要做
tm=tv.tv_sec;