2 使用clock_t clock() 得到的是CPU时间 精确到1/CLOCKS_PER_SEC秒
3 计算时间差使用double difftime( time_t timer1, time_t timer0 )
4 使用DWORD GetTickCount() 精确到毫秒
5 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒
6 要获取高精度时间,可以使用
BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency)
获取系统的计数器的频率
BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)
获取计数器的值
然后用两次计数器的差除以Frequency就得到时间。
例子:
取得时钟频率
LARGE_INTEGER litmp ;
QueryPerformanceFrequency(&litmp);
LARGE_INTEGER start;
QueryPerformanceCounter(&start) ;
//do something
LARGE_INTEGER end;
QueryPerformanceCounter(&end) ;
double dTotalTime = (double)(end.QuadPart-start.QuadPart) / (double)litmp.QuadPart;
参考:http://topic.csdn.net/t/20031204/22/2528934.html
http://www.cppblog.com/humanchao/archive/2008/02/27/43322.html
time_t time_now = time(NULL);
if(m_last_tim_time==0)
{
m_last_tim_time = time_now;
}
if ( (time_now-m_last_tim_time)>=1)
{
m_last_tim_time=time_now;
//将当前时间转换成日历时间
tm* tm_now = localtime((const time_t*)&time_now);
char str_time[64] = {0};
sprintf_s(str_time,"%d-%2d-%2d %2d:%2d:% 2d",tm_now->tm_year+1900,tm_now->tm_mon+1,tm_now->tm_mday,tm_now->tm_hour,tm_now->tm_min,tm_now->tm_sec);
m_tim_file.write(str_time,strlen(str_time));
unsigned int file_size=m_save_file.tellp();
m_tim_file.write((const char *)&file_size,sizeof(file_size));
m_tim_file.flush();
}