如何将 timeval 转换为 time_t?我正在尝试转换:
struct timeval tv;
time_t tm;
tm = (time_t)tv;
就是这个?
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;
定义(来自man gettimeofday)
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
所以你需要做
tm=tv.tv_sec;