Windows下使用timeval以及gettimeofday()

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


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章