欢迎来到天天文库
浏览记录
ID:6646392
大小:35.50 KB
页数:6页
时间:2018-01-21
《c语言获取系统时间的几种方式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言获取系统时间的几种方式C语言中如何获取时间?精度如何?1使用time_ttime(time_t*timer)精确到秒2使用clock_tclock()得到的是CPU时间精确到1/CLOCKS_PER_SEC秒3计算时间差使用doubledifftime(time_ttimer1,time_ttimer0)4使用DWORDGetTickCount()精确到毫秒5如果使用MFC的CTime类,可以用CTime::GetCurrentTime()精确到秒6要获取高精度时间,可以使用BOOLQueryPer
2、formanceFrequency(LARGE_INTEGER*lpFrequency)获取系统的计数器的频率BOOLQueryPerformanceCounter(LARGE_INTEGER*lpPerformanceCount)获取计数器的值然后用两次计数器的差除以Frequency就得到时间。7MultimediaTimerFunctionsThefollowingfunctionsareusedwithmultimediatimers.timeBeginPeriod/timeEndPeriod/t
3、imeGetDevCaps/timeGetSystemTime//*********************************************************************//用标准C实现获取当前系统时间的函数一.time()函数time(&rawtime)函数获取当前时间距1970年1月1日的秒数,以秒计数单位,存于rawtime中。#include"time.h"voidmain(){time_trawtime;structtm*timeinfo;time(&rawti
4、me);timeinfo=localtime(&rawtime);printf(" 07Thecurrentdate/timeis:%s",asctime(timeinfo));exit(0);}=================#include--必须的时间函数头文件time_t--时间类型(time.h定义是typedeflongtime_t;追根溯源,time_t是long)structtm--时间结构,time.h定义如下:inttm_sec;inttm_min;inttm_hour;inttm
5、_mday;inttm_mon;inttm_year;inttm_wday;inttm_yday;inttm_isdst;time(&rawtime);--获取时间,以秒计,从1970年1月一日起算,存于rawtimelocaltime(&rawtime);--转为当地时间,tm时间结构asctime()--转为标准ASCII时间格式:星期月日时:分:秒年----------------------------------------------------------------------------
6、-二.clock()函数,用clock()函数,得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就可以换成“秒”,标准c函数。clock_tclock(void);#includeclock_tt=clock();longsec=t/CLOCKS_PER_SEC;他是记录时钟周期的,实现看来不会很精确,需要试验验证;---------------------------------------------------------------------------三.gettime(&
7、t);据说tc2.0的time结构含有毫秒信息#include#includeintmain(void){structtimet;gettime(&t);printf("Thecurrenttimeis:%2d:%02d:%02d.%02d",t.ti_hour,t.ti_min,t.ti_sec,t.ti_hund);return0;}time是一个结构体,,其中成员函数ti_hund是毫秒。。。----------------------------------------------------
8、----------------------------四.GetTickCount(),这个是windows里面常用来计算程序运行时间的函数;DWORDdwStart=GetTickCount();//这里运行你的程序代码DWORDdwEnd=GetTickCount();则(dwEnd-dwStart)就是你的程序运行时间,以毫秒为单位这个函数只精确到55ms,1个tick就是55ms。------------------
此文档下载收益归作者所有