在修改一個來自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;
}