文档详情

获取系统时间的几种方式及其精度.docx

发布:2017-05-22约5.31千字共5页下载文档
文本预览下载声明
获取系统时间的几种方式及其精度2010-05-12 15:271 使用time_t time( time_t * timer ) 精确到秒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就得到时间。7 Multimedia Timer FunctionsThe following functions are used with multimedia timers.timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime//*********************************************************************//用标准C实现获取当前系统时间的函数一.time()函数???? time(rawtime)函数获取当前时间距1970年1月1日的秒数,以秒计数单位,存于rawtime 中。#include time.h?void main ()?{?time_t rawtime;?struct tm * timeinfo;?time ( rawtime );?timeinfo = localtime ( rawtime );?printf ( 07The current date/time is: %s, asctime (timeinfo) );?exit(0);?}?=================?#include -- 必须的时间函数头文件?time_t -- 时间类型(time.h 定义是typedef long time_t; 追根溯源,time_t是long)struct tm -- 时间结构,time.h 定义如下:?int tm_sec;?int tm_min;?int tm_hour;?int tm_mday;?int tm_mon;?int tm_year;?int tm_wday;?int tm_yday;?int tm_isdst;?time ( rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtime?localtime ( rawtime ); -- 转为当地时间,tm 时间结构?asctime ()-- 转为标准ASCII时间格式:?星期月日时:分:秒年-----------------------------------------------------------------------------二.clock()函数,用clock()函数,得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就可以换成“秒”,标准c函数。clock_t clock ( void );?#include?clock_t t = clock();long sec = t / CLOCKS_PER_SEC;他是记录时钟周期的,实现看来不会很精确,需要试验验证;---------------------------------------------------------------------------三.gettime(t); 据说tc2.0的time结构含有毫秒信息#include?#include?int main(void)?{?struct time t;?gettime(t);?printf(The current time is: %2d:%02d:%02d.%02d ,?t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);?return 0;?}?time 是一个结构体,,其中成员函数 ti_hund 是毫秒。。。--------------------------------------------------------------------------------四.GetTickCount(),这个是windows里面常用来计算程
显示全部
相似文档