在C++中,timeval
结构体用于表示时间值,包括秒和微秒
#include#include int main() { // 创建两个timeval结构体实例 struct timeval t1, t2; // 获取当前时间(t1)和另一个时间点(t2) gettimeofday(&t1, NULL); // 假设t2是在某个事件发生后获取的 gettimeofday(&t2, NULL); // 计算时间差(以微秒为单位) long usec_diff = t2.tv_usec - t1.tv_usec; long sec_diff = t2.tv_sec - t1.tv_sec; // 如果微秒差值为负数,则从秒差值中减去1,并将微秒差值加上1000000 if (usec_diff < 0) { sec_diff -= 1; usec_diff += 1000000; } // 输出时间差(以秒和微秒为单位) std::cout << "Time difference: " << sec_diff << " seconds, " << usec_diff << " microseconds" << std::endl; return 0; }
这个示例首先获取当前时间(t1
)和另一个时间点(t2
),然后计算它们之间的时间差(以微秒为单位)。如果微秒差值为负数,代码会将其调整为正数。最后,代码输出时间差(以秒和微秒为单位)。