在修改一个来自Unix的开源库时候,其使用了Unix常用的timeval结构体和得到当前的时间(秒和微秒)。在windows下没有找到对应的数据结构,于是利用chrono库函数,写了一个同样名字的结构和函数,以供调用。
#include<chrono> //头文件包含
struct
{
__int64 tv_sec;
__int64 tv_usec;
}timeval;
void gettimeofday(struct timeval* tv) {
auto time_now = std::chrono::system_clock::now();
std::chrono::system_clock::time_point tp = std::chrono::system_clock::now();
auto duration_in_s = std::chrono::duration_cast<std::chrono::seconds>(time_now.time_since_epoch()).count();
auto duration_in_us = std::chrono::duration_cast<std::chrono::microseconds>(time_now.time_since_epoch()).count();
tv->tv_sec = duration_in_s;
tv->tv_usec = duration_in_us;
}